Plese fill the template when you reporting a new issue, thanks!
Which platform are you running AnyProxy
Windows
The version of the AnyProxy
4.0.6
Your expected behavior of AnyProxy
我在试图用anyproxy修改url地址。
用官方文档里的
···javascripty
beforeSendRequest(requestDetail) {
if (requestDetail.url.indexOf(' https://httpbin.org/user-agent ') === 0) {
const newRequestOptions = requestDetail.requestOptions;
requestDetail.protocol = 'http';
newRequestOptions.hostname = '127.0.0.1'
newRequestOptions.port = '8008';
newRequestOptions.path = '/index.html';
newRequestOptions.method = 'GET';
return requestDetail;
}
},
···
这一段代码修改不了。
然后自己是了类似这样的代码、
‘’‘javascript
*beforeSendRequest(requestDetail) {
var url = requestDetail.url;
if (requestDetail.url.indexOf('cats') >=0 ) {
console.log('visited cats, going to dogs....')
var newUrl = 'http://localhost/dogs';
var newOptions = Object.assign({}, requestDetail.requestOptions);
newOptions.path = '/dogs'
console.log(newOptions);
return {
url: newUrl,
requestOptions: newOptions
};
}
},
'''
还是修改不了。有时候成功,请求cat跳转到dog,有时候还是跳转到cat。
我真在做爬虫,有些url参数很复杂,需要去掉一笑参数。然后看结果。
The actual behavior of AnyProxy
Anyproxy 不能修改url地址。
8条答案
按热度按时间ctzwtxfj1#
楼主问题解决了吗,我现在使用url、path也是更改不起作用
unhi4e5o2#
没有,后来我放弃了发自我的华为手机-------- 原始邮件 --------发件人: zhengzhengde notifications@github.com日期: 2019年5月24日周五 上午10:58收件人: alibaba/anyproxy anyproxy@noreply.github.com抄送: Liu Hao majorliu@163.com, Mention mention@noreply.github.com主 题: Re: [alibaba/anyproxy] 不能修改url,只能修改请求头。 (#354)楼主问题解决了吗,我现在使用url、path也是更改不起作用 —You are receiving this because you were mentioned.Reply to this email directly, view it on GitHub, or mute the thread.
ie3xauqp3#
可以试试mitmproxy发自我的华为手机-------- 原始邮件 --------发件人: zhengzhengde notifications@github.com日期: 2019年5月24日周五 上午10:58收件人: alibaba/anyproxy anyproxy@noreply.github.com抄送: Liu Hao majorliu@163.com, Mention mention@noreply.github.com主 题: Re: [alibaba/anyproxy] 不能修改url,只能修改请求头。 (#354)楼主问题解决了吗,我现在使用url、path也是更改不起作用 —You are receiving this because you were mentioned.Reply to this email directly, view it on GitHub, or mute the thread.
yv5phkfx4#
@neverusedname
官方示例里面的代码,修改后的请求是错误的地方还是说没有生效?
直接修改url是不会生效的,需要修改里面对应的path、host等信息,同时你可以拿到已有的path,并对参数做过滤,可否也提供一下不生效的那段代码?
pw136qt25#
你好,修改path host都不会生效。应该是一个bug。试过多次,有时候能够重定向。有时候无效。 console.log('Getting advertisement content...') // delete referer delete requestDetail.requestOptions.headers['Referer']; delete params var url = requestDetail.url; var paramsToDelete = ['appmsg_type', 'uin', 'ct', 'both_ad', 'title', 'version', 'wxtoken', 'clientversion', 'comment_id', 'is_original', 'devicetype', 'key', 'is_need_reward', 'reward_uin_count', 'r', 'msg_daily_idx' ]; var cleanUrl = someCleanUrl; return resetUrl(requestDetail, cleanUrl); function resetUrl(requestDetail, newUrl){ var newOptions = Object.assign({}, requestDetail.requestOptions); var newPath = getPath(newUrl); newOptions.path = newPath; var newReq = { url: newUrl, requestOptions: newOptions }; console.log(newReq); return newReq; var response = { response: { statusCode: 302, header: { 'liu-intercepted': 'true', 'content-type': 'text/plain'}, } }; }; 在 2018-03-28 19:44:10,"Nick" notifications@github.com 写道: @neverusedname 官方示例里面的代码,修改后的请求是错误的地方还是说没有生效? 直接修改url是不会生效的,需要修改里面对应的path、host等信息,同时你可以拿到已有的path,并对参数做过滤,可否也提供一下不生效的那段代码? — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.
mlmc2os56#
听你描述应该确实像是触发了特定的逻辑,不过没还有遇到过。
你的rule代码修改了path,其他信息没变,讲道理是会到新的path中去的,可否提供完整的beforeSendRequest方法? 具体url可以隐去
zaqlnxep7#
你好,非常感谢您的支持。
我试图拦截对某个网站的请求,分析这些参数的作用。
这是是一个post请求,但是url里面也带了参数。
试图1)删除post请求体里面的body
2)删除部分url里的参数
3)删除一些请求头。
现在只有删除请求头有效,其他2个无效。代码是这样的。
b4wnujal8#
@neverusedname
将你的代码执行了一下,有几点可以得出:
requestDetail.requestData
确实会无效,因为AnyProxy在发现requestData为空时,会用原始的requestData来替代,这个我们将进行修复。 同时你也可以将其改为一个无效但是有值的requestDatadeleteParams + getPath
方法返回的url也是带参数的?这个你可以确认一下,或者强行将path手写成一个地址,看看是否生效