gpt4 book ai didi

python - 使用 request.post 通过 python 发布多部分表单数据不起作用

转载 作者:太空宇宙 更新时间:2023-11-04 01:16:31 28 4
gpt4 key购买 nike

我正在尝试使用 http://www.camp.bicnirrh.res.in/featcalc/通过 python 2.7 发布 multipart/form-data。具体来说,我正在上传 FASTA 格式的文件(称为 'Practice.txt'),基本上是这种格式:

'>1(ENTER)STRINGOFSPECIFICCAPITALLETTERS' 

此站点也有一个文本框,您也可以在其中手动输入数据(我将其留空)。这个数据站点还有复选框选项,我想选择其中的 'Length''Net Charge''Aliphatic Index'“疏水性”。在页面底部有一个“提交”按钮。
目前,这是我用于我的 POST 响应的代码。

files = {'file': ('Practice.txt', open('Practice.txt', 'rb'))}
data = {'Length':'Length', 'Net Charge':'Net Charge', 'Aliphatic Index':'Aliphatic Index','Hydrophobicity':'Hydrophobicity'}
r = requests.post(url, files=files, data=data)
r.text

问题是当我执行 r.text 时,这些都没有返回任何数据。该网站在使用浏览器时计算所有这些东西的值。我得到了 WireShark,我一直在尝试查看实时提要,看看我到底向服务器发送了什么,虽然我逐字使用了上面的代码,但它并没有给出返回浏览器的值。

有没有人知道为什么会发生这种情况/如何实际获取数据?感谢您的任何输入!

最佳答案

这会起作用:

import requests
import urllib

session = requests.Session()

file={'file':(open('practice.txt','r').read())}

url = 'http://www.camp.bicnirrh.res.in/featcalc/tt1.php'

payload = {
'length' :'length', #Length
'netcharge':'netcharge', #Net Charge
'aliphatic':'aliphatic', #Aliphatic Index
'gravy' :'gravy' #Hydrophobicity
}

raw = urllib.urlencode(payload)

response = session.post(url, files=file, data=payload)

print(response.text)

所有选项:

payload = {
'length' :'length', #Length
'netcharge' :'netcharge', #Net Charge
'amino' :'amino', #Amino acid composition
'aliphatic' :'aliphatic', #Aliphatic Index
'instability':'instability', #Instability Index
'gravy' :'gravy', #Hydrophobicity
'sec' :'sec' #Secondary Structure Propensity
}

关于python - 使用 request.post 通过 python 发布多部分表单数据不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24255795/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com