fatlong 发表于 2024-1-16 16:47

刚学js,求助(已解决)

本帖最后由 fatlong 于 2024-1-17 09:23 编辑

这是我写的一个有道的翻译
import requests

o = str(int(time.time()*1000))
def sign():
    # e = 'asdjnjfenknafdfsdfsd'
    # u = 'fanyideskweb'
    # d = 'webfanyi'
    q = f'client=fanyideskweb&mysticTime=str{o}&product=webfanyi&key=asdjnjfenknafdfsdfsd'
    obj = hashlib.md5()
    obj.update(q.encode('utf-8'))
    a = obj.hexdigest()
    return a

headers = {
    "Origin": "https://fanyi.youdao.com",
    "Referer": "https://fanyi.youdao.com/",
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 Edg/118.0.2088.61",
    'Host':'dict.youdao.com',
    'Cookie':'OUTFOX_SEARCH_USER_ID_NCOO=1918452785.9332309; OUTFOX_SEARCH_USER_ID=714488211@171.221.146.167'
}

url = 'https://dict.youdao.com/webtranslate'
data = {
    'i': '狗',
    'from': 'auto',
    'to': '',
    'domain': 0,
    'dictResult': 'true',
    'keyid': 'webfanyi',
    'sign': sign(),
    'client': 'fanyideskweb',
    'product': 'webfanyi',
    'appVersion': '1.0.0',
    'vendor': 'web',
    'pointParam': 'client,mysticTime,product',
    'mysticTime': str(o),
    'keyfrom': 'fanyi.web',
    'mid': 1,
    'screen': 1,
    'model': 1,
    'network': 'wifi',
    'abtest': 0,
    'yduuid': 'abcdefg'
}
res = requests.post(url,data=data,headers=headers)
print(res.text))输出一直报错,想问一下,到底哪里有毛病

唯一之境 发表于 2024-1-16 19:23

你抓的哪个地址

fatlong 发表于 2024-1-16 19:37

唯一之境 发表于 2024-1-16 19:23
你抓的哪个地址

请求的是这个:https://dict.youdao.com/webtranslate
网站是:https://fanyi.youdao.com/index.html#/这个

kof21411 发表于 2024-1-16 19:58

你没有import hashlib

surepj 发表于 2024-1-16 20:15

这样正常返回,但是返回也是加密的,需要AES解密,自己探索试试吧
import requests,time,hashlib

o = int(time.time()*1000)
def sign():
    # e = 'asdjnjfenknafdfsdfsd'
    # u = 'fanyideskweb'
    # d = 'webfanyi'
    q = 'client=fanyideskweb&mysticTime='+ str(o) +'&product=webfanyi&key=fsdsogkndfokasodnaso'

    a = hashlib.md5(q.encode()).hexdigest()
    return a

headers = {
    "Origin": "https://fanyi.youdao.com",
    "Referer": "https://fanyi.youdao.com/",
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 Edg/118.0.2088.61",
    'Host':'dict.youdao.com',
    'Cookie':'OUTFOX_SEARCH_USER_ID_NCOO=1918452785.9332309; OUTFOX_SEARCH_USER_ID=714488211@171.221.146.167'
}

url = 'https://dict.youdao.com/webtranslate'
data = {
    'i': '狗',
    'from': 'auto',
    'to': '',
    'domain': 0,
    'dictResult': 'true',
    'keyid': 'webfanyi',
    'sign': sign(),
    'client': 'fanyideskweb',
    'product': 'webfanyi',
    'appVersion': '1.0.0',
    'vendor': 'web',
    'pointParam': 'client,mysticTime,product',
    'mysticTime': str(o),
    'keyfrom': 'fanyi.web',
    'mid': 1,
    'screen': 1,
    'model': 1,
    'network': 'wifi',
    'abtest': 0,
    'yduuid': 'abcdefg'
}
res = requests.post(url,data=data,headers=headers)
print(res.text)

鹿鸣 发表于 2024-1-16 20:42

前几天才搞过这个,返回的还得解密一下

Pwaerm 发表于 2024-1-16 22:59

这不是js

是python吧

三滑稽甲苯 发表于 2024-1-16 23:23

你用到的库都没有 import

fatlong 发表于 2024-1-17 09:17

surepj 发表于 2024-1-16 20:15
这样正常返回,但是返回也是加密的,需要AES解密,自己探索试试吧
import reque ...

谢谢大佬,搞出来了,一直是key的值有问题

fatlong 发表于 2024-1-17 09:18

Pwaerm 发表于 2024-1-16 22:59
这不是js

是python吧

python写的一个逆向的,比较简单的
页: [1] 2
查看完整版本: 刚学js,求助(已解决)