私はhttpリクエストが新しく、いくつかの作業を自動化しようとしています。しかし、私は必要な結果を得ることができません。私は多くの投稿とPythonリクエストモジュールのドキュメントを見てきましたが、結果に変更はありません。PythonリクエストモジュールでPOSTにエラー400(不正リクエスト)が返される
コードIは私に正しい結果を与えますが、私はbody_を通過する間に、私はいくつかのミスをやっていると思います
{'X-Processing-Time-Milliseconds': '3', 'Transfer-Encoding': 'chunked', 'X-Powered-By': 'ASP.NET', 'Server': 'Kestrel', 'Date': 'Mon, 06 Feb 2017 14:51:59 GMT', 'Content-Type': 'application/json'} 400 {"Message":"''"}
としてPythonを経て、私は出力を取得しています配達員と
def installFont():
print "Installing font"
urlToHit = "some http address"
header_ = { "UserID": "00000", "PortalName": "EDC", "ModifyBy" : "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "Content-Type" : "application/json"}
body_ = {
"Email": "[email protected]",
"AssetLicenseType": "Trial",
"MachineIds": ["machine1", "machine2"],
"fontAsset":
[
{
"FontId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"FontName": "Neue Aachen™ Pro Ultra Light",
"FontUrl": "http://helveticaurl",
"FontDownloadUrlAPI": "url",
"FontDownloadUrl" : "url1,
"FontFamilyName": "Neue Aachen™ Pro",
"FontFamilyUrl": "http://FontFamilyUrl",
"FontStyle": "Normal",
"FontWeight": "100",
"ExpiryDate": "2017-2-27 11:17:01",
"FontFamilyId": "34"
}
]
}
r = requests.request("POST", urlToHit, data=body_, headers=header_)
print r.headers
print r.status_code
print r.text
Itried同じことを書きました
r = requests.request("POST", urlToHit, data=body_, headers=header_)
出力を介して郵便配達 {"Message":"Created Successfully","SuccessCount":2,"FailCount":0}
私はそれをさらに調べて、問題は** fontAssest **フィールドであると仮定しています。このフィールドを "body_"から削除すると、応答は_ {"Message": ""少なくとも1つのフォントアセットが必要です ""} _。しかしbody_はPOSTMANツールで完全にうまく動作します。だから** fontAsset **は辞書のリストです。たぶん私はそのような要求をどのように投稿する必要があるかに焦点を当てる必要があります。 –
この質問に時間を割かないでください。世話をする必要がある特殊文字** TM **があります。私は今、必要な結果を得ることができます。 –