2010-12-09 3 views
0

Ich möchte post some data in der besonderen URL sagen http://localhost:8000/postme/. Aber ich kenne die Form noch nicht. Also, ich möchte es ohne irgendeine Form testen. Also, wie kann ich Daten in die URL ohne Formular posten? Ich möchte die Antwort auf den Webbrowser sehen.Wie posten Sie Daten in eine bestimmte URL?

Antwort

5

Sie können einen Ajax Beitrag mit jQuery machen. Siehe this Seite für die API.

Oder für Python, können Sie httplib verwenden. Siehe this Seite für die API. Hier ein Beispiel:

>>> import httplib, urllib 
>>> params = urllib.urlencode({'spam': 1, 'eggs': 2, 'bacon': 0}) 
>>> headers = {"Content-type": "application/x-www-form-urlencoded", 
...   "Accept": "text/plain"} 
>>> conn = httplib.HTTPConnection("musi-cal.mojam.com:80") 
>>> conn.request("POST", "/cgi-bin/query", params, headers) 
>>> response = conn.getresponse() 
>>> print response.status, response.reason 
200 OK 
>>> data = response.read() 
>>> conn.close() 
+0

Dies zeigt jedoch nicht die Antwort auf den Webbrowser. Ich möchte die Antwort auf den Webbrowser sehen. –

+0

@ ajax-ie: Dann fügen Sie einfach 'print data' vor' conn.close() 'hinzu. – Chetan

+0

Dies ist nicht meine Abfrage. Ich möchte diese Daten im Browser ausdrucken. Dazu habe ich versucht, webbroser und dann webbroser.open (url, data) zu importieren, aber es funktioniert nicht. –

1

Sie curl dafür verwenden können:

curl -F "name=jonesy" http://localhost:8080/postme 

Oder können Sie den Köper Python-Modul verwenden (die auch eine Shell-Schnittstelle hat):

twill-sh 
jonesy$ twill-sh 

-= Welcome to twill! =- 

current page: *empty page* 
>> go 'http://www.google.com' 
==> at http://www.google.com 
current page: http://www.google.com 
>> showforms 

Form name=f (#1) 
## ## __Name__________________ __Type___ __ID________ __Value__________________ 
1  hl      hidden (None)  en 
2  source     hidden (None)  hp 
3  ie      hidden (None)  ISO-8859-1 
4  q      text  (None)   
5 1 btnG      submit (None)  Google Search 
6 2 btnI      submit (None)  I'm Feeling Lucky 

>> fv f q 'python' 
current page: http://www.google.com 
>> submit 
Note: submit is using submit button: name="btnG", value="Google Search" 

current page: http://www.google.com/search?hl=en&source=hp&ie=ISO-8859-1&q=python&btnG=Google+Search 
>> save_html 
(Using filename 'search') 
current page: http://www.google.com/search?hl=en&source=hp&ie=ISO-8859-1&q=python&btnG=Google+Search 
>> showlinks 
Links: 

0. Images ==> http://www.google.com/images?hl=en&q=python&um=1&ie=UTF-8&source=og&sa=N&tab=wi 
1. Videos ==> http://www.google.com/search?hl=en&q=python&um=1&ie=UTF-8&tbo=u&tbs=vid:1&source=og&sa=N&tab=wv 
2. Maps ==> http://maps.google.com/maps?hl=en&q=python&um=1&ie=UTF-8&sa=N&tab=wl 
3. News ==> http://www.google.com/search?hl=en&q=python&um=1&ie=UTF-8&tbo=u&tbs=nws:1&source=og&sa=N&tab=wn 
4. Shopping ==> http://www.google.com/search?hl=en&q=python&um=1&ie=UTF-8&tbo=u&tbs=shop:1&source=og&sa=N&tab=wf 
5. Gmail ==> http://mail.google.com/mail/?hl=en&tab=wm 

. ... die Links gehen für immer weiter, aber Sie bekommen den Punkt. Sie können Twill in der Shell verwenden, wie ich es hier getan habe, oder diese Befehle können als Methoden im twill.commands-Modul in einem Python-Skript aufgerufen werden.

Natürlich können Sie die Twill-Shell verlassen und öffnen Sie die Datei "Suche" (in diesem Beispiel), um das tatsächliche HTML zu sehen, die an den Browser ging.

Verwandte Themen