PHP 페이지에서 HTTP 포스트 요청을 보내려고합니다. 나는 자바와 파이썬 (파이썬을 사용한 처음)에 대한 시도를했으며, 둘 다 나에게 거의 잘 작동한다고 말할 수있다. 사실, 그들은 내 테스트 PHP 페이지에서만 잘 작동했다. 웬일인지, 어느 쪽도 나의 목표 PHP 페이지를 위해 근무하지 않았다. 제 생각에는Python에서 HTTP 포스트 요청 에뮬레이트하기
, 실패 후 요청의 문제가 발생할 수 있습니다 두 가지 이유가있을 수 :
이- 리디렉션의 종류
- 서버를 발생할 수 있습니다 것은 적절한 쿠키
다음을 원한다 대상 페이지의 HTML 코드와 작동해야하는 Python 코드를 찾을 수 있습니다.
HTML :
<form id="m713a0moduleform_2" method="post" action="http://www.X.Y/index.php?page=login" class="cms_form">
<input type="hidden" name="mact" value="FrontEndUsers,m713a0,do_login,1" />
<input type="hidden" name="m713a0returnid" value="794" />
<input type="hidden" name="page" value="794" />
<input type="hidden" name="m713a0form" value="login" />
<input type="text" class="cms_textfield" name="m713a0feu_input_username" id="m713a0feu_input_username" value="" size="10" maxlength="40" />
<input type="password" class="cms_password" name="m713a0feu_input_password" value="" size="10" maxlength="10" />
<input class="cms_submit" name="m713a0feu_btn_login" id="m713a0feu_btn_login" value="Sign in" type="submit" class="signin_button" />
</form>
파이썬 :
import urllib
params = urllib.urlencode({"mact":"FrontEndUsers,m713a0,do_login,1","m713a0returnid":"18","page":"18","m713a0form":"login","m713a0feu_input_username":"Z","m713a0feu_input_password":"W","m713a0feu_btn_login":"Sign in"})
f = urllib.urlopen("http://www.X.Y/index.php?page=login", params)
print f.read()
나는 다음과 같은 오류가 발생합니다. 어떤 아이디어? 내가 paste.proxy.TransparentProxy 및 webob.Request를 사용
Traceback (most recent call last): File "/X/Y/Z/NewPythonProject2/src/newpythonproject2.py", line 34, in from paste.proxy import TransparentProxy ImportError: No module named paste
http://diveintopython.org/http_web_services/redirects.html 리디렉션을 처리하는 방법을 설명합니다. –