使用requests(python)进行POST请求不能返回d

2024-04-25 00:36:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我还有一个关于帖子的问题。 这篇文章应该与使用这个问题“using”在堆栈溢出上引用的文章几乎相同请求.post通过python发布多部分表单数据不起作用,但是由于某些原因我不能让它工作。网站是http://www.camp.bicnirrh.res.in/predict/。我想在这个网站上发布一个已经是FASTA格式的文件,并使用python中的requests选择“SVM”选项。这是基于@NorthCat之前给我的,就像一个符咒:

import requests
import urllib
file={'file':(open('Bishop/newdenovo2.txt','r').read())}
url = 'http://www.camp.bicnirrh.res.in/predict/hii.php'
payload = {"algo[]":"svm"}
raw = urllib.urlencode(payload)
response = session.post(url, files=file, data=payload)
print(response.text)

既然它不工作,我就认为有效载荷是问题所在。我一直在玩有效载荷,但我不能让这些工作。在

^{pr2}$

这些有效载荷都没有产生数据。在

感谢任何帮助。非常感谢!在


Tags: 数据inimporthttp网站wwwrespost
1条回答
网友
1楼 · 发布于 2024-04-25 00:36:29

您需要将file post变量名设置为“userfile”,即

file={'userfile':(open('Bishop/newdenovo2.txt','r').read())}

请注意,read()是不必要的,但它不会阻止文件上载成功。以下是一些适合您的代码:

^{pr2}$

response.text包含HTML结果,将其保存到一个文件中并在浏览器中查看,或者使用Beautiful Soup之类的东西对其进行解析并提取结果。在

在请求中,我为文件指定了一个mime类型“text/plain”。这不是必需的,但它可以作为文档使用,可能对接收服务器有帮助。在

我的fasta.txt文件的内容是:

>24.6jsd2.Tut 
GGTGTTGATCATGGCTCAGGACAAACGCTGGCGGCGTGCTTAATACATGCAAGTCGAACGGGCTACCTTCGGGTAGCTAGTGGCGGACGGGTGAGTAACACGTAGGTTTTCTGCCCAATAGTGGGGAATAACAGCTCGAAAGAGTTGCTAATACCGCATAAGCTCTCTTGCGTGGGCAGGAGAGGAAACCCCAGGAGCAATTCTGGGGGCTATAGGAGGAGCCTGCGGCGGATTAGCTAGATGGTGGGGTAAAGGCCTACCATGGCGACGATCCGTAGCTGGTCTGAGAGGACGGCCAGCCACACTGGGACTGAGACACGGCCCAGACTCCTACGGGAGGCAGCAGTAAGGAATATTCCACAATGGCCGAAAGCGTGATGGAGCGAAACCGCGTGCGGGAGGAAGCCTTTCGGGGTGTAAACCGCTTTTAGGGGAGATGAAACGCCACCGTAAGGTGGCTAAGACAGTACCCCCTGAATAAGCATCGGCTAACTACGTGCCAGCAGCCGCGGTAATACGTAGGATGCAAGCGTTGTCCGGATTTACTGGGCGTAAAGCGCGCGCAGGCGGCAGGTTAAGTAAGGTGTGAAATCTCCCTGCTCAACGGGGAGGGTGCACTCCAGACTGACCAGCTAGAGGACGGTAGAGGGTGGTGGAATTGCTGGTGTAGCGGTGAAATGCGTAGAGATCAGCAGGAACACCCGTGGCGAAGGCGGCCACCTGGGCCGTACCTGACGCTGAGGCGCGAAGGCTAGGGGAGCGAACGGGATTAGATACCCCGGTAGTCCTAGCAGTAAACGATGTCCACTAGGTGTGGGGGGTTGTTGACCCCTTCCGTGCCGAAGCCAACGCATTAAGTGGACCGCCTGGGGAGTACGGTCGCAAGACTAAAACTCAAAGGAATTGACGGGGACCCGCACAAGCAGCGGAGCGTGTGGTTTAATTCGATGCGACGCGAAGAACCTTACCTGGGCTTGACATGCTATCGCAACACCCTGAAAGGGGTGCCTCCTTCGGGACGGTAGCACAGATGCTGCATGGCTGTCGTCAGCTCGTGTCGTGAGATGTTGGGTTAAGTCCCGCAACGAGCGCAACCCCTGTCCTTAGTTGTATATCTAAGGAGACTGCCGGAGACAAACCGGAGGAAGGTGGGGATGACGTCAAGTCAGCATGGCTCTTACGTCCAGGGCTACACATACGCTACAATGGCCGTTACAGTGAGATGCCACACCGCGAGGTGGAGCAGATCTCCAAAGGCGGCCTCAGTTCAGATTGCACTCTGCAACCCGAGTGCATGAAGTCGGAGTTGCTAGTAACCGCGTGTCAGCATAGCGCGGTGAATATGTTCCCGGGTCTTGTACACACCGCCCGTCACGTCATGGGAGCCGGCAACACTTCGAGTCCGTGAGCTAACCCCCCCTTTCGAGGGTGTGGGAGGCAGCGGCCGAGGGTGGGGCTGGTGACTGGGACGAAGTCGTAACAAGGT

相关问题 更多 >