You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python Requests中使用文本文件作为数据输入的问题求助

问题分析与解决方案

你的核心问题是直接将文本文件的行内容作为data参数传入请求,导致表单数据格式不符合网站要求。

单个请求中data={'Uid': '0587848'}是正确的表单格式,Requests会自动将其编码为Uid=0587848的application/x-www-form-urlencoded格式。但你直接传入文本文件的行内容时:

  • 如果文本每行是纯UID(如0587848),请求数据会变成0587848(无键名Uid),网站自然提示缺少参数;
  • 如果文本每行是类似{'Uid': '0587848'}的字符串,Requests会把它当成原始文本发送,而非解析为表单键值对,网站同样无法识别。

修复步骤

1. 规范文本文件格式

将a.txt改为每行仅存纯UID,无任何引号或额外字符:

0587848
1234567
9876543

2. 修改请求代码

在循环中处理每行内容,构造正确的表单数据:

with open(str_current_datetime+'.txt', 'w') as outfile:
    with open('a.txt') as fp:
        for line in fp:
            # 去除行尾换行符和空白字符
            uid = line.strip()
            # 跳过空行
            if not uid:
                continue
            # 构造正确的表单数据
            form_data = {'Uid': uid}
            ull = requests.post(
                'https://thesite1234.com/Professionals/Inquiry/Main/FetchPerson',
                cookies=cookies,
                headers=headers,
                data=form_data
            )
            print(ull.text, file=outfile)
            print(ull.text)

额外注意事项

  • 若文本文件存在编码问题,打开时指定编码(如open('a.txt', encoding='utf-8'));
  • 避免请求频率过高导致网站封禁,可添加time.sleep(1)控制请求间隔。

内容的提问来源于stack exchange,提问作者KAEK KAEK

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 14:56:07