【问题标题】:r-project {httr} POST authentication gets HTTP ERROR 411 from IIS7.5r-project {httr} POST 身份验证从 IIS7.5 获取 HTTP ERROR 411
【发布时间】:2014-09-09 03:34:36
【问题描述】:

我正在使用 {httr} 包登录到内部 Web 应用程序(IIS7.5 上的 Theradoc),以便抓取一些 html(感染)数据。

library(httr)
POST("http://ahdc372n2", authenticate("foo", "bar"), encode="multipart"), verbose())

详细的控制台输出显示,

-> POST /theradoc/login/index.cfm HTTP/1.1
-> Authorization: Basic Y2xpbmludGVsbDowMWRFbmdsaXNo
-> User-Agent: curl/7.19.6 Rcurl/1.95.4.3 httr/0.4
-> Host: ahdc372n2.phs-sfalls.amck.net
-> Accept: */*
-> Accept-Encoding: gzip
-> Cookie: JSESSIONID=843052421c871dec2ac3a263b136d475a4a6
-> 
<- HTTP/1.1 411 Length Required
<- Content-Type: text/html; charset=us-ascii
<- Server: Microsoft-HTTPAPI/2.0
<- Date: Mon, 08 Sep 2014 15:53:02 GMT
<- Connection: close
<- Content-Length: 344
<- 
*  Closing connection #0

最终我得到一个 ">HTTP Error 411。请求必须被分块或具有内容长度。"

我已经查看了这个older post 没有有用的指针。

有没有办法在 httr POST 请求中强制使用 Content-Length?

【问题讨论】:

  • 使用ls("package:httr", pattern = "content")可以看到httr中内容相关的功能。我在帮助页面中看不到任何关于强制内容长度的内容,但它们可能对您有所帮助。
  • 谢谢里奇。我想我应该尝试使用包 RCurl。我想你可能已经回答了这个问题......如果你想把它作为答案,我会接受它。不要以为您可以给我等效的 RCurl 作为答案的一部分(我只是懒惰:)?
  • 您是否也可以在 Chrome 中执行此请求,或者在请求有效时可以看到所有标头的地方执行此请求?我想知道您是否需要在接受标头中添加其他内容。我希望有办法重现环境以测试正在发生的事情。
  • 您真的没有在您的发布请求中发布任何数据吗?
  • 你用httr0.5试过了吗? (最近发布)

标签: r post iis-7.5 httr http-status-code-411


【解决方案1】:

更新:从 zip 存档手动安装 httr_0.5 似乎已经解决了这个问题。谢谢hrbmstr

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-05
    • 2014-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-30
    • 2017-06-09
    相关资源
    最近更新 更多