我已經在防火牆後面,因此使用代理服務器。httr'客戶端錯誤:(407)代理驗證必需'
library(httr)
set_config(
use_proxy(url="18.91.12.23", port=8080)
)
r <- GET('http://httpbin.org/get',verbose())
http_status(r)
這裏就是顯示錯誤:
r <- GET('http://httpbin.org/get',verbose())
-> GET http://httpbin.org/get HTTP/1.1
-> Host: httpbin.org
-> User-Agent: libcurl/7.47.1 r-curl/0.9.7 httr/1.2.1
-> Accept-Encoding: gzip, deflate
-> Proxy-Connection: Keep-Alive
-> Cookie: BCSI-CS-342e9f19b1226740=2
-> Accept: application/json, text/xml, application/xml, */*
->
<- HTTP/1.1 407 Proxy Authentication Required
<- Proxy-Authenticate: NTLM
<- Proxy-Authenticate: BASIC realm="onmi"
<- Cache-Control: no-cache
<- Pragma: no-cache
<- Content-Type: text/html; charset=utf-8
<- Proxy-Connection: close
<- Set-Cookie: BCSI-CS-342e9f19b1226740=2; Path=/
<- Connection: close
<- Content-Length: 3645
<-
> http_status(r)
$category
[1] "Client error"
$reason
[1] "Proxy Authentication Required"
$message
[1] "Client error: (407) Proxy Authentication Required"
我試着在我的Internet Explorer中設置代理,Sys.setenv(),with_config(use_proxy())。但是,這些都沒有工作,我得到相同的客戶端錯誤407.
我已經嘗試GET,POST與不同的URL,但它又是一樣的錯誤。請幫忙!
這似乎表明您登錄到使用代理服務器或者透明地通過NTLM creds(意思你可能在瀏覽互聯網時使用IE或Edge)。 'use_proxy()'還有其他3個參數,'username','password'和'auth'。我建議使用'Sys.getenv()'將它們傳遞到這些參數中,並將'ntlm'作爲'auth'的參數來存儲您的代理權限。 IT/IT審計不會喜歡存儲的信用,順便說一句。 – hrbrmstr
您可能還會看到'curl :: ie_proxy_info()'爲您提供了什麼 – hadley