Py学习  »  问与答

requests模块的参数存在编码的时候如何处理,被二次编码了。

adminsss • 6 年前 • 1372 次点击  

请问一下大家

import re,os,requests
res = "(flag{.*?})"
url = "http://218.76.35.74:21025/index.php"
payload = {'ip':'127.0.0.1|dir c:','Submit':'Submit'}
respone_html = requests.get(url,params=payload)
print respone_html.url
flags = re.findall(res,respone_html.text)
for i in flags:
    print i

问:

就是这里的payload参数。倘若我里面含有URL编码或者其他的一些编码咋处理啊(含有URL编码的时候发出去的get请求就会再次被编码,假设是payload = {'ip':'127.0.0.1|dir%20c:','Submit':'Submit'}的时候咋整???)

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/8454
 
1372 次点击  
文章 [ 1 ]  |  最新文章 6 年前
Py站长
Reply   •   1 楼
Py站长    6 年前

直接自己拼接URL,用&进行分隔

或者 undecode

Py站长
Reply   •   2 楼
Py站长    6 年前

不使用 payload, 直使用 编码后的URL进行请求,参数用 & 进行自已拼接。