使用python脚本在url中传递参数

时间:2016-04-25 03:46:10

标签: python python-2.7

我的需求:我想在每个参数中传递一个有效负载,并将结果存储在文本文件中。我想知道如何使用python

传递URL中所有参数的有效负载

仅供参考:我正在从文本文件中提取URL并将输出写入文本文件。

需要在=&

之间传递参数

例如:http://apps.hello.com/appeditprofile/appeditprofileupdate.php&MARITAL_STATUS=1&ENCID=d961e7e192042c955bde7b68e38c25a72&TOFEET=5-8&FROMFEET=4-5&

3 个答案:

答案 0 :(得分:0)

您可以使用加号(+)来添加(连接)变量。

<强>例如

 url = `http://example.com`
 var1 = test
 name = 'Arshid'
 payload = '?action='+var1+'&name='+var2

<强>更新: -

在( textfile.txt )的每一行中将文字保存为以下格式

  

{'var1':'1','var2':'d961e7e192042c955bde7b68e38c25a72','var3':    '5-8','var4':'4-5'}

     

{'var1':'1','var2':    'd961e7e192042c955bde7b68e38c25a72','var3':'5-8','var4':'4-5'}

for line in open('textfile.txt'):
        url = 'http://apps.hello.com/appeditprofile/appeditprofileupdate.php&MARITAL_STATUS='+line.get('var1')+'&ENCID='+line.get('var2')+'&TOFEET='+line.get('var3')+'&FROMFEET='+line.get('var4')

答案 1 :(得分:0)

我实际上建议使用urllib来处理编码。建立Arshid的例子:

import urllib
url = 'http://example.com'
params = { 'var1': 'test', 'name': 'Arshid' }
url = '%s?%s' % (url, urllib.urlencode(params),)

您可以查看示例here了解更多信息。

答案 2 :(得分:0)

您的挑战是正确读取URL,并提取其查询字符串,这是所有&=的部分。接下来,插入您的键/值对,然后构建原始URL:

>>> import urllib, urlparse
>>> original = 'http://www.example.com/index.php?a=b&c=d'
>>> new_values = {'key': 42}
>>> parts = urlparse.urlparse(original)
>>> original_qs = urlparse.parse_qs(parts.query)
>>> original_qs.update(new_values)
>>> new_qs = urllib.urlencode(original_qs, True)
>>> print(new_qs)
a=b&c=d&key=42