AHGGG / poe-node-api

A reverse engineered Node.js client for Quora's Poe.
MIT License
38 stars 5 forks source link

formkey 的提取发生变化 #21

Open HailHydra58 opened 1 year ago

HailHydra58 commented 1 year ago

https://poe.com 请求到的数据拿来提取formkey 的逻辑发生了变化,自己尝试改了一下 未果 麻烦大佬看看呢

AHGGG commented 1 year ago

好的,我晚上看看

AHGGG commented 1 year ago

看懂了,参考:poe-api/src/poe.py

现在变成了:

  1. 从poe.com返回的html内容中,提取出script标签里的内容。里面有一段 image

  2. 还有一个script标签里是各种函数,然后弄一个假的window,让这个标签的各种函数定义到这个假的window上

  3. 然后调用上面截图里的那个函数window.ereNdsRqhp2Rd3LEW()。

  4. 最后返回的就是formkey(总的来说,只要window.AH1e2NB10cGs0eGxm("4e9dc11bef21b6307fdfc279a46a74719c86d57adfae6ddfecdbd70757730ec2");这个函数调用成功,就拿到formkey了。可以看script里搜索前四个字母的关键词,例如这里就是搜AH1e,就可以看到是各种拼接而成的处理函数。)

我刚刚试了一下,发现对poe.com发起GET请求,返回了403,forbidden,我现在还没搞清楚为啥(初步怀疑是不是header里少东西了)。只有周末时间长点再看看,最近有点忙。

HailHydra58 commented 1 year ago

感谢大佬 我也是才忙完下班 对poe.com发起GET请求现在需要验证user-agent了 直接网页上复制带上就好 image

AHGGG commented 1 year ago

感谢大佬 我也是才忙完下班 对poe.com发起GET请求现在需要验证user-agent了 直接网页上复制带上就好 image

那我马上试试

AHGGG commented 1 year ago

image 还是不行

HailHydra58 commented 1 year ago

image 还是不行

image image

我是加了可以呢,获取您可以尝试一下在poe的网页端重新登录一下再尝试。 也或者您可以用与我相同的 'user-agent': Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36 因为我看到您是linux 可能会被拒绝访问

AHGGG commented 1 year ago

奇怪,还是不行。。你能贴下你的代码gist吗

HailHydra58 commented 1 year ago

https://[gist.githubusercontent.com/HailHydra58/f9f880242e77219b3f3ea3c4a353e55f/raw/9fad8909c1bcd47a5469817af39b4a352a67ab86/PoeClient.js] 我不知道代码gist是不是这样贴的,您可以看一下。因为我发现用fetch请求的话 会出现初始化之后的接口请求不通的情况 也不知道是我node的问题还是我代理没上去。研究很久后发现可以用axios代替fetch就没这个问题了, 并且您的ws好像没有考虑代理。考虑到修改代码会比较多 所以干脆就拙劣的模仿您的代码写了一份自用。 或许您也可以用axios来试一试

HailHydra58 commented 1 year ago

https://gist.github.com/HailHydra58/f9f880242e77219b3f3ea3c4a353e55f 好像这个链接会好一些 有高亮