1
私はPythonで遊んでいますが、私はスクリプトが与えられたときに自動的にパラメータとパラメータの値を特定するようにしたいと思いますか?Python pycurlリストの分離
import os
import pycurl, re, cStringIO
from urllib import urlencode
import Queue
import threading
import sys
import socket
import io
def curl(host,option,params):
try:
if option == "GET":
buf = cStringIO.StringIO()
c = pycurl.Curl()
c.setopt(c.URL, host)
c.setopt(c.WRITEFUNCTION, buf.write)
c.setopt(pycurl.SSL_VERIFYPEER, 0)
c.setopt(pycurl.SSL_VERIFYHOST, 0)
c.setopt(c.USERAGENT, 'Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1667.0 Safari/537.36')
c.setopt(pycurl.NOSIGNAL, 1)
c.perform()
html = buf.getvalue()
print html
elif option == "POST":
buf = cStringIO.StringIO()
c = pycurl.Curl()
c.setopt(c.URL, host)
x = params.split(":")[0]
y = params.split(":")[1]
post_data = {x:y}
postfields = urlencode(post_data)
c.setopt(c.POSTFIELDS, postfields)
c.setopt(c.WRITEFUNCTION, buf.write)
c.setopt(pycurl.SSL_VERIFYPEER, 0)
c.setopt(pycurl.SSL_VERIFYHOST, 0)
c.setopt(c.USERAGENT, 'Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1667.0 Safari/537.36')
c.setopt(pycurl.NOSIGNAL, 1)
c.perform()
html = buf.getvalue()
print html
except pycurl.error,e:
print e
curl('localhost/b.php','POST','par1:val1|par2:val2|par3:val3')
これまでのところ、私は手動で行うことができますが、コードを毎回編集して、各パラメータに対してこれらの分割機能を追加するのは面倒です。
のpython p.py アレイ ( [PAR1:これは
[par1] => val1
[par2] => val2
[par3] => val3
私の実際の結果を?:ように私は、これを自動的にパラメータと値を投稿するためのコードを作成するにはどうすればよい
] => val1 | par2 )
こんにちは、私はカール関数を作りたかったので、OPTIONがPOSTまたはGETになるとGETを見ず、POSTを見て、書き込むパラメータが正しく動作していない、私が欲しいのはPOSTが呼び出されたときにこれらのパラメーターのすべてのパラメーターと値を自動的に検出するスクリプト。 – pythn
実際の問題に関連していないので、質問からGETの部分を取り除こうとしないのはなぜですか?パラメータの部分はあなたが探しているkwargsですか? –