#6738·axios

不安全的HTTPParser 不与代理服务器合作

作者: eg7eg7创建于 2024年12月11日更新于 2026年8月11日

描述错误

当向返回无效信头字符的服务器提出请求时,‘不安全的HTTPParser'旗正确用于直接连接,但在使用代理配置时未能处理无效信头.

当前的行为

  1. 没有代理, `不安全的HTTParser: true' 成功处理无效信头字符
  2. 使用代理服务器, 请求失败了“ 错误: 无效的标题值字符” , 不管“ 不安全的 HTTPser” 设置

测试结果 :

  1. 直接请求,`不安全的HTTParser:虚假'
  • 错误: “ Parse 错误: 无效的标题值字符”
  • 状态:HPE INVALID HEADER TOKEN
  1. 直接请求,`不安全的HTTParser:真实'
  • 成功吗?
  • 状况:200人
  1. 代理请求,`不安全HTTParser:虚假'
  • 错误:“Proxy 错误:分析错误:无效头值字符”
  • 状况:502人
  1. 代理请求,`不安全的HTTParser:真实'
  • 错误:“Proxy 错误:分析错误:无效头值字符”
  • 状况:502人

重写

创建一个返回无效标题的网站请求, 例如“ https://meuitinerario.com.br ” 。 应请求设置和代理及不安全的HTTPPser 旗

连接配置={
url:'https://meuitinerario.com.br',",[永久失效連結] 互联网档案馆的存檔,存档日期2013-12-02.
不安全的HTTPParser: true, // 应允许无效的页眉字符
代理服务器: {
主机:"brd.superproxy.io",
港口: 33335,
协议:“http”,
认证 : {
用户名: '***',
密码 : “ *** ”
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?
* ;

const响应=等待axios(配置);

期望状态代码 200, 返回 502

代码片段

{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你来干什么? 从 “ axios” 导入轴; 从“ https” 导入 https; 从“ http” 导入 http;

cont 用户名 = process.env.bRD USERNAME; 2. const 密码 = process.env.bRD PASWORD ; Const 代理Url = http://${username}:${password}@brd. superproxy.io:33335';

urls = [“https://meuitinerario.com.br”];

async 函数获得request(url,不安全的HTTPPser,使用Proxy) { 连接配置={ 尔尔. 页: 1 方法:“GET”, 响应Type:"阵列缓冲器", 最大方向数: 0, 校验状态 :( ) QQ true, // 这将解决所有状态代码的承诺 不安全的HTTParser, // (中文). 允许自签名证书和其他 http 错误, 如“ 无效头值字符 ” httpsAgent: 新建 https.Agent({) 拒绝未经授权:虚假的, ~ , , ( ) , httpAgent: 新建 http.Agent({ 拒绝未经授权:虚假的, ~ , , ( ) , 代理: 未定义,

  • ;

如果( 使用Proxy) { Const 代理 Url Object = 新的 URL( 代理 Url) ;

配置. proxy = { 主机: 代理 UrlObject.hostname, 端口: 代理 Url Object. port, 仅此而已 。 协议: 代理 UrlObject.protocol.slices (0, -1), //去除冒号 认证 : { 用户名: 代理用户名 UrlObject.username, 密码: 代理 Url Object. password, {\fn华文楷体\fs16\1cHE0E0E0}

  • ; {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢? 尝试{ Const 回复 = 等待 arxios({ ...配置,
  • ;

返回回复; {\fn华文楷体\fs16\1cHE0E0E0}抓住(err){ 返回{ 状态: 错误. code, 错误:错误.消息, 理由:错误。

  • ; {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢? {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?

aync 函数测试Site( url) { 页:1

  • 联合国 . . . . . . .