[英]Send body of POST request
我檢查了如何將請求發送到firefox中的網站:
(不幸的是,我不得不將網站URL更改為偽造的URL,以防止過多請求服務器表單)。
我試圖在python中執行此請求:
import requests
import json
seq = 'ATGGCAGACTCTATTGAGGTC'
url = 'http://www.test.com'
body = {'QUERY': seq}
headers = {'Content-type': 'application/json', 'Accept': 'text/plain'}
r = requests.post(url, data=json.dumps(body), headers=headers)
print(r.text)
但是,當執行此操作時,該網站說: Empty gene sequence passed for blast analysis. Please enter a valid gene sequence.
Empty gene sequence passed for blast analysis. Please enter a valid gene sequence.
因此,這意味着該序列(即QUERY
)沒有正確發送到服務器。 我在這里想念什么?
(希望Ps網站的丟失不是回答這個問題的問題,如果可以,請讓我知道也許我可以要求提及他們的網站)
我猜您要提交給該特定網站的字符串/序列是問題。 我在POST接受網站上運行了您的示例代碼:
import requests
import json
seq = 'ATGGCAGACTCTATTGAGGTC'
url = 'http://httpbin.org/post'
body = {'QUERY': seq}
headers = {'Content-type': 'application/json', 'Accept': 'text/plain'}
r = requests.post(url, data=json.dumps(body), headers=headers)
print(r.text)
並得到以下結果,該結果顯示查詢的格式正確:
{
"args": {},
"data": "{\"QUERY\": \"ATGGCAGACTCTATTGAGGTC\"}",
"files": {},
"form": {},
"headers": {
"Accept": "text/plain",
"Accept-Encoding": "gzip, deflate",
"Content-Length": "34",
"Content-Type": "application/json",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.22.0"
},
"json": {
"QUERY": "ATGGCAGACTCTATTGAGGTC"
},
"origin": "2.122.222.8, 2.122.222.8",
"url": "https://httpbin.org/post"
}
您確定它應該是“ QUERY = <>”嗎? 原因可能是主體的格式不正確。 通常,它采用JSON格式,如“ title:information”。 注意“:”而不是“ =”
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.