2017-03-28 6 views
1

나는 그것이 교체R HTTR 오류 403

PUT(url = signedRequest, 
    body = upload_file(path = file_path),verbose() 
    ) 

이다 그러나이 같은 코드 다음 RI에서

with open(file_path, 'rb') as fp: 
    r = requests.Request('PUT', signedRequest, data=fp.read()) 
    prepped = r.prepare() 
    s = requests.Session() 
    resp = s.send(prepped) 

다음 코드를 사용하고 함께 서버에 파일을 업로드 파이썬 작업에 코드를 요청을 requestbin에 오류

HTTP/1.1 403 Forbidden 

을 던지고

로 수신 R

Cf-Connecting-Ip: **** 
Content-Length: 6481350 
User-Agent: libcurl/7.47.0 r-curl/2.3 httr/1.2.1 
Total-Route-Time: 0 
Via: 1.1 vegur 
Connection: close 
Cf-Ipcountry: US 
Content-Type: text/csv 
X-Request-Id: 0bfbf6ab-4658-4650-bd4d-e1e19ffdba91 
Accept: application/json, text/xml, application/xml, */* 
Connect-Time: 0 
Accept-Encoding: gzip 
Host: requestb.in 
Cf-Ray: 346d6e90d70f54ec-ORD 
Cf-Visitor: {"scheme":"http"} 

어떤 제안이 들어

Cf-Connecting-Ip: **** 
Host: requestb.in 
Connect-Time: 1 
Total-Route-Time: 0 
Via: 1.1 vegur 
Content-Length: 6481350 
Connection: close 
Cf-Ipcountry: US 
X-Request-Id: f9b165cc-0f42-4eaa-8b40-2eb37a6ff1ca 
Accept-Encoding: gzip 
Cf-Ray: 346d734353e871df-ORD 
Cf-Visitor: {"scheme":"http"} 

파이썬

를 들어

?

+0

에 매개 변수로

user_agent("") 

을 전달하여 사용자 에이전트를 억제 할 수

upload_file(path = file_path, type="") 

으로 콘텐츠 형식을 억제 할 수 파이썬과 R의 https://requestb.in/과 같은 사이트에 게시하여 서버가 보는 요청을 비교해 볼 수 있습니다. 업로드하려는 파일의 유형은 무엇입니까? – MrFlick

+0

.csv 파일을 업로드하려고합니다. – anonR

+0

두 파일에 대한 출력을 게시했습니다. – anonR

답변

1

서버가 불평하는 내용을 정확히 말하기는 어렵지만 두 요청을 비교하면 콘텐츠 유형과 사용자 에이전트에 차이가 있음을 알 수 있습니다.

당신은, 당신은 또한 오히려 실제 URL에 게시보다 PUT()