V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
luosuosile
V2EX  ›  问与答

使用 idea 挂代理的可以帮我一下吗

  •  
  •   luosuosile · 2018-11-24 12:02:42 +08:00 · 1354 次点击
    这是一个创建于 2193 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我在写一个爬外网图片的爬虫。 机子本身用了 shadowsockR 科学上网了。 但是程序对网站的请求都是超时。 所以我怀疑是 IDEA 本身要设置代理,但是怎么都设置不好。 我是这么设置的请看一下 idea 设置 ip 地址,端口和密码都没问题( shadowsockR 不是不需要输入账户名但是需要密码吗)。 但是却无法访问 google,

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