2017-03-28 13 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) 

は、次のコードを使用していて、サーバーにファイルをアップロードPythonの作業のコードを持っています要求が

として受信されている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"} 

任意の提案については Pythonの

については

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="") 

でコンテンツタイプを抑制することができ、 pythonとRの両方からhttps://requestb.in/のようなサイトに投稿して、サーバーが見たリクエストを比較することができます。アップロードしようとしているファイルの種類は何ですか? – MrFlick

+0

.csvファイルをアップロードしようとしています – anonR

+0

両方の出力を投稿しました。 – anonR

答えて

1

サーバーが何を訴えているのか正確には分かりませんが、2つの要求を比較すると、コンテンツタイプとユーザーエージェントに違いがあることがわかります。

あなたはまた、むしろ本当のURLに投稿するよりもPUT()