V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
zgxzgx
V2EX  ›  Python

请教一个问题, requests 包请求 csdn 首页推荐文章一个接口,为什么相同代码在 windows 和 Linux 下不同结果?

  •  
  •   zgxzgx ·
    zgxme · 2019-12-07 11:22:15 +08:00 · 3393 次点击
    这是一个创建于 1573 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Windows 返回 json

    Linux 下

    var arg1='657EB8639C0B486DC9FF2ACB2637EC4603DAD6E8'; var _0x4818=['\x63\x73\x4b\x48\x77\x71\x4d\x49','\x5a\x73\x4b\x4a\x77\x72\x38\x56\x65\x41\x73\x79','\x55\x63\x4b\x69\x4e\x38\x4f\x2f\x77\x70\x6c\x77\x4d\x41\x3d\x3d','\x4a\x52\x38\x43\x54\x67\x3d\x3d','\x59\x73\x4f\x6e\x62\x53\x45\x51\x77\x37\x6f\x7a\x77\x71\x5a\x4b\x65\x73\x4b\x55\x77\x37\x6b\x77\x58\x38\x4f\x52\x49\x51\x3d\x3d','\x77\x37\x6f\x56\x53\x38\x4f\x53\x77\x6f\x50\x43\x6c\x33\x6a\x43\x68\x4d\x4b\x68\x77\x36\x48\x44\x6c\x73\x4b\x58\x77\x34\x73\x2f\x59\x73\x4f\x47', .... '0x37', '\x4c\x24\x28\x44'),l);}_0x4db1c();setInterval(function(){_0x4db1c();},0xfa0);

    function setCookie(name,value){var expiredate=new Date();expiredate.setTime(expiredate.getTime()+(3600*1000));document.cookie=name+"="+value+";expires="+expiredate.toGMTString()+";max-age=3600;path=/";} function reload(x) {setCookie("acw_sc__v2", x);document.location.reload();}

    10 条回复    2019-12-08 00:12:30 +08:00
    superrichman
        1
    superrichman  
       2019-12-07 11:30:23 +08:00
    参考这个
    https://www.v2ex.com/t/619609#reply3
    从结果上看应该是 cookie 没有处理好
    zgxzgx
        2
    zgxzgx  
    OP
       2019-12-07 12:50:20 +08:00
    @superrichman cookie 都加了
    zgxzgx
        3
    zgxzgx  
    OP
       2019-12-07 12:52:20 +08:00
    @superrichman https://www.csdn.net/api/articles 是直接请求这个接口
    ClericPy
        4
    ClericPy  
       2019-12-07 13:22:03 +08:00
    这种东西和操作系统有关系? 你挂上个阿里云代理可能也会出这个, 对方把阿里云之类的 ip 都 block 了吧, 毕竟服务器上没活人
    chroming
        5
    chroming  
       2019-12-07 13:31:35 +08:00
    两个平台分别抓包看一下差异,也有可能是楼上说的 ip 不同导致的
    zgxzgx
        6
    zgxzgx  
    OP
       2019-12-07 15:31:00 +08:00
    @ClericPy 请问有什么解决方案嘛?
    explore365
        7
    explore365  
       2019-12-07 15:49:21 +08:00
    和系统无关
    ClericPy
        8
    ClericPy  
       2019-12-07 16:18:17 +08:00
    @zgxzgx #6 As I said... 挂一个不是阿里云的代理
    locoz
        9
    locoz  
       2019-12-08 00:07:10 +08:00 via Android
    打开看一眼代码的开头和结尾就知道是反爬…你肯定是 Windows 机是本地、Linux 机是服务器,然后虽然 cookie 复制了但机子不在同一个 IP 下。
    locoz
        10
    locoz  
       2019-12-08 00:12:30 +08:00 via Android
    @locoz #9
    然后这玩意之所以你请求接口也会出现,是因为这是阿里云 CDN 加上的。
    解决方式通常有两种:
    硬怼的话就搜一下网上的文章,关键词是 cookie 名:acw_sc__v2。
    绕过的话就直接加个高质量的代理 IP 或者直接放拨号 VPS 上跑,家宽类 IP 一般都可以绕过去。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   4906 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 09:52 · PVG 17:52 · LAX 02:52 · JFK 05:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.