我正在尝试使用Python的“请求”模块填写POST表单,然后获取输出。许多网站似乎都使用此代码作为示例。但是,它只保留返回表格。我创建了一个简单的POST表单,它似乎也正在返回表单本身。这是Python代码:
@RunWith(AndroidJUnit4::class)
class ViewModelTest {
@Test
@Throws(Exception::class)
fun someTest() {
val application = InstrumentationRegistry.getTargetContext().applicationContext as Application
val testViewModel = MyViewModelThatExtendsFromAndroidViewModel(application)
testViewModel.foo()
}
}
“测试” HTML表单:
import requests
url = 'http://127.0.0.1/test.html'
data = { 'name': 'Test','age': '52'}
r = requests.post(url, data=data)
print(r.text)
“测试” PHP表单:
<html>
<head>
<title>Test page</title>
</head>
<body>
<form action='test.php' method='post'>
<input name='name' type='text'>
<br>
<input name='age' type='text'>
<br>
<input name='calculate' type='submit' value='Submit test'>
</form>
</body>
</html>
我可以确认表单本身可以正常运行,而浏览器没有任何问题。有谁知道是什么引起了这个问题?
答案 0 :(得分:2)
您可以直接发布到php页面。
import requests
url = 'http://127.0.0.1/test.php'
data = { 'name': 'Test','age': '52'}
r = requests.post(url, data=data)
print(r.text)
基于@ WeavingBird1917的评论:
import requests
url = 'http://www.mso.anu.edu.au/cgi-bin/ephem.cgi'
data = { 'action': 'display','date': 'today','latitude':'-35:19:12','longitude':'149:00:30','timezone':'+10:00'}
r = requests.post(url, data=data)
print(r.text)