Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HTTP::RequestError: invalid transfer encoding in 0.7.0 #78

Closed
cestivan opened this issue Jan 4, 2016 · 9 comments
Closed

HTTP::RequestError: invalid transfer encoding in 0.7.0 #78

cestivan opened this issue Jan 4, 2016 · 9 comments
Assignees

Comments

@cestivan
Copy link

cestivan commented Jan 4, 2016

在升级到0.7.0后,http代替了rest-client。不过请求都出现了HTTP::RequestError: invalid transfer encoding问题,已经回退到了0.6.8。

Rails版本:4.2.1

@teddy1004
Copy link

遇到同样的问题

@Eric-Guo
Copy link
Owner

Eric-Guo commented Jan 4, 2016

能够贴出调用堆栈么?

这个错误是http的报错。

Stack Overflow上Invalid transfer encoding也没答案,我也无法复现。。

@teddy1004
Copy link

用 media_create 上传 file 都会出错

media_create "voice", "/home/deployer/apps/neo_wechat/tmp/data/lessons/565c1557636d73708a000f3c/565c1557636d73708a000f3e.amr"
Using rails project config/wechat.yml default setting...
/home/deployer/.rvm/gems/ruby-2.2.2/gems/http-1.0.1/lib/http/request/writer.rb:56:in `add_body_type_headers': invalid transfer encoding (HTTP::RequestError)
        from /home/deployer/.rvm/gems/ruby-2.2.2/gems/http-1.0.1/lib/http/request/writer.rb:40:in `stream'
        from /home/deployer/.rvm/gems/ruby-2.2.2/gems/http-1.0.1/lib/http/request.rb:107:in `stream'
        from /home/deployer/.rvm/gems/ruby-2.2.2/gems/http-1.0.1/lib/http/connection.rb:70:in `send_request'
        from /home/deployer/.rvm/gems/ruby-2.2.2/gems/http-1.0.1/lib/http/client.rb:65:in `perform'
        from /home/deployer/.rvm/gems/ruby-2.2.2/gems/http-1.0.1/lib/http/client.rb:43:in `request'
        from /home/deployer/.rvm/gems/ruby-2.2.2/gems/http-1.0.1/lib/http/chainable.rb:25:in `post'
        from /home/deployer/.rvm/gems/ruby-2.2.2/gems/wechat-0.7.0/lib/wechat/client.rb:24:in `block in post'
        from /home/deployer/.rvm/gems/ruby-2.2.2/gems/wechat-0.7.0/lib/wechat/client.rb:34:in `request'
        from /home/deployer/.rvm/gems/ruby-2.2.2/gems/wechat-0.7.0/lib/wechat/client.rb:22:in `post'
        from /home/deployer/.rvm/gems/ruby-2.2.2/gems/wechat-0.7.0/lib/wechat/api_base.rb:33:in `block in post'
        from /home/deployer/.rvm/gems/ruby-2.2.2/gems/wechat-0.7.0/lib/wechat/api_base.rb:39:in `with_access_token'
        from /home/deployer/.rvm/gems/ruby-2.2.2/gems/wechat-0.7.0/lib/wechat/api_base.rb:32:in `post'
        from /home/deployer/.rvm/gems/ruby-2.2.2/gems/wechat-0.7.0/lib/wechat/api_base.rb:20:in `media_create'
        from /home/deployer/.rvm/gems/ruby-2.2.2/gems/wechat-0.7.0/bin/wechat:325:in `media_create'
        from /home/deployer/.rvm/gems/ruby-2.2.2/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
        from /home/deployer/.rvm/gems/ruby-2.2.2/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'
        from /home/deployer/.rvm/gems/ruby-2.2.2/gems/thor-0.19.1/lib/thor.rb:359:in `dispatch'
        from /home/deployer/.rvm/gems/ruby-2.2.2/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'
        from /home/deployer/.rvm/gems/ruby-2.2.2/gems/wechat-0.7.0/bin/wechat:427:in `<top (required)>'
        from /home/deployer/.rvm/gems/ruby-2.2.2/bin/wechat:23:in `load'
        from /home/deployer/.rvm/gems/ruby-2.2.2/bin/wechat:23:in `<main>'
        from /home/deployer/.rvm/gems/ruby-2.2.2/bin/ruby_executable_hooks:15:in `eval'
        from /home/deployer/.rvm/gems/ruby-2.2.2/bin/ruby_executable_hooks:15:in `<main>'

@Eric-Guo
Copy link
Owner

Eric-Guo commented Jan 5, 2016

嗯,我复现了这个错,看起来http.rb传文件的API和Rest Client不一样了。

@Eric-Guo
Copy link
Owner

Eric-Guo commented Jan 6, 2016

draft version have error, relative issue in http.

Eric-Guo added a commit that referenced this issue Jan 10, 2016
@Eric-Guo
Copy link
Owner

Just the form-data boundary number not right if only one field exist. (in this case, media only)

@teddy1004
Copy link

👏👏👏

@42thcoder
Copy link

删除永久素材接口仍然报错

/Users/hackerzhang/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/http-1.0.4/lib/http/request/writer.rb:57:in `add_body_type_headers': invalid transfer encoding (HTTP::RequestError)
    from /Users/hackerzhang/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/http-1.0.4/lib/http/request/writer.rb:41:in `stream'
    from /Users/hackerzhang/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/http-1.0.4/lib/http/request.rb:110:in `stream'
    from /Users/hackerzhang/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/http-1.0.4/lib/http/connection.rb:71:in `send_request'
    from /Users/hackerzhang/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/http-1.0.4/lib/http/client.rb:66:in `perform'
    from /Users/hackerzhang/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/http-1.0.4/lib/http/client.rb:44:in `request'
    from /Users/hackerzhang/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/http-1.0.4/lib/http/chainable.rb:26:in `post'
    from /Users/hackerzhang/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/wechat-0.7.11/lib/wechat/http_client.rb:24:in `block in post'
    from /Users/hackerzhang/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/wechat-0.7.11/lib/wechat/http_client.rb:45:in `request'
    from /Users/hackerzhang/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/wechat-0.7.11/lib/wechat/http_client.rb:22:in `post'
    from /Users/hackerzhang/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/wechat-0.7.11/lib/wechat/api_base.rb:38:in `block in post'
    from /Users/hackerzhang/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/wechat-0.7.11/lib/wechat/api_base.rb:50:in `with_access_token'
    from /Users/hackerzhang/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/wechat-0.7.11/lib/wechat/api_base.rb:37:in `post'
    from /Users/hackerzhang/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/wechat-0.7.11/lib/wechat/api.rb:117:in `material_delete'
    from /Users/hackerzhang/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/wechat-0.7.11/bin/wechat:365:in `material_delete'
    from /Users/hackerzhang/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
    from /Users/hackerzhang/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'
    from /Users/hackerzhang/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/thor-0.19.1/lib/thor.rb:359:in `dispatch'
    from /Users/hackerzhang/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'
    from /Users/hackerzhang/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/wechat-0.7.11/bin/wechat:461:in `<top (required)>'
    from /Users/hackerzhang/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/bin/wechat:22:in `load'
    from /Users/hackerzhang/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/bin/wechat:22:in `<main>'

wechat 版本 0.7.11

@Victorialice
Copy link

Victorialice commented Jun 16, 2017

删除永久素材接口仍然报错的问题又遇到了
/Users/xtunes/.rvm/gems/ruby-2.3.3/gems/http-2.2.2/lib/http/request/writer.rb:59:in add_body_type_headers': invalid transfer encoding (HTTP::RequestError)
版本0.8.8

Eric-Guo added a commit that referenced this issue Jun 18, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants