我在写一个爬外网图片的爬虫。 机子本身用了 shadowsockR 科学上网了。 但是程序对网站的请求都是超时。 所以我怀疑是 IDEA 本身要设置代理,但是怎么都设置不好。 我是这么设置的请看一下 ip 地址,端口和密码都没问题( shadowsockR 不是不需要输入账户名但是需要密码吗)。 但是却无法访问 google,
1
luosuosile OP 我不太理解这个,机子本身已经科学上网了,但是 idea 却不是。
shadowsockR 到底是个什么机制? 我们电脑访问网络使用的都是一个端口吗?还是浏览器和 idea 使用的是不同的端口? 然后 ss 只捕获了浏览器使用的端口,然后再把响应返回给这个端口吗? |
2
PPTing 2018-11-24 12:11:46 +08:00 via iPhone 1
host 应该是 127.0.0.1 然后下面的 Proxy auth 不需要勾选填写吧
|
3
Vegetables 2018-11-24 12:13:33 +08:00 via Android
地址貌似要填本地地址
|
4
ju5t4fun 2018-11-24 12:14:16 +08:00
不关 idea 的事,你自己的爬虫代码里要指定代理
|
5
AEANWspPmj3FUhDc 2018-11-24 12:14:45 +08:00
没用过 shadowsockR。
不靠谱猜测一下,ssr 是否开启了 pac 模式,然后你爬的这个网站并不在 pac 列表中? |
6
choice4 2018-11-24 12:25:58 +08:00 via Android
4 楼应该是对的 你的程序 http 请求和 ide 没关系 http.setProxy 为请求设置代理
|
7
zealzz 2018-11-24 12:30:01 +08:00 via iPhone
大胸弟,ssr 科学上网默认不是全局的,比如终端,idea 都要而外设置。
|
8
luosuosile OP 好,感谢大家的解答,我再努力一下
|
9
CEBBCAT 2018-11-24 12:39:22 +08:00 via Android
四楼说的对。举例:
macOS 设置了 PAC 自动分流,但 Terminal 里的 git 还是极慢,这时候需要 expert 设定代理,到了你这里我不知道在环境变量里设置有没有用,但发送请求用的库肯定有办法显式指定代理 |
10
luosuosile OP @PPTing
@Vegetables 使得,填本机可以上 google,但是不是 socks 是 http,这个我知道问题在于程序还是不行。下面老哥解答说,这个代理是 idea 的,和程序是分开的。我想应该是 idea 更新下载包之类的请求会通过这个代理(疑问是 maven 也会吗,需不需要 maven 再设置一次),但是程序不会。 我还是太年轻了,爬虫写太少了,可恶! |
11
kassadin 2018-11-24 12:43:47 +08:00
IDEA 本身要设置代 -> 这个是用于 IDEA 更新,安装插件等时让它走代理
你需要的可能是代码上类似`requests.get("http://example.org", proxies=proxies)`设置代理 |
12
zhch602 2018-11-24 13:15:48 +08:00 via Android
idea 的代理和你的爬虫有什么关系?你的程序又不是运行在 idea 里的
|
13
dobelee 2018-11-24 13:23:53 +08:00 via Android
服了,你的程序需要代理跟 idea 有毛关系啊,这里的代理是用来干 ide 相关的工作,比如下载插件,安装依赖。。。
|
14
also24 2018-11-24 13:24:42 +08:00
鉴于你的爬虫本身就是爬外网内容的,你应该在爬虫的配置文件里加上代理部分,并用爬虫使用的请求库内部的代理方法来设置,这样才能保证可迁移性,否则只能治标不能治本。
|
15
anyele 2018-11-24 13:36:45 +08:00 via Android
全局的代理最好用路由器
|
16
sslyxhz 2018-11-24 15:57:57 +08:00 via Android
有过一次用 socks 死活连不上,改 http 就可以了,从此 idea 代理不用 socks
|
17
nutting 2018-11-24 17:13:27 +08:00 via Android
python?我知道 java 是需要启动时候命令行参数的,类似,你找找看
|
18
Linyvhan 2018-11-24 19:19:44 +08:00
用 http 即可.127.0.0.1 1080.
|
19
janus77 2018-11-24 19:28:23 +08:00 via iPhone
http 就行 无密码
|
20
SorcererXW 2018-11-24 22:09:33 +08:00
java 程序默认直连了, 不走本地代理
试试看用 Proxifier, 实现真正的全局代理 |
21
winterbells 2018-11-24 22:11:24 +08:00 via Android
HTTP 之前有一次版本更新之后不能用 socks 了,Android studio 也是。。
|