wangluozhe / requests

用于快速请求HTTP或HTTPS,并支持修改ja3、ja4指纹
GNU General Public License v3.0
417 stars 93 forks source link

http 重定向到https 时,第二次请求cookie 会丢失。 #31

Closed oioie closed 1 year ago

oioie commented 1 year ago

package main

import ( "fmt"

"github.com/wangluozhe/requests"
"github.com/wangluozhe/requests/url"

)

func main() { req := url.NewRequest() req.Headers = url.ParseHeaders( :Authority:www.walmart.com :Method:GET :Path:/orchestra/pdp/graphql/ItemById/884b151e9b96e769d2af2c1eea28439993342b388e37cd5a074b3bc03ce323b8/ip/2427712578?variables=%7B%22channel%22%3A%22WWW%22%2C%22pageType%22%3A%22ItemPageGlobal%22%2C%22tenant%22%3A%22WM_GLASS%22%2C%22version%22%3A%22v1%22%2C%22iId%22%3A%222427712578%22%2C%22layout%22%3A%5B%22itemDesktop%22%5D%2C%22tempo%22%3A%7B%22targeting%22%3A%22%257B%2522userState%2522%253A%2522loggedIn%2522%257D%22%2C%22params%22%3A%5B%7B%22key%22%3A%22expoVars%22%2C%22value%22%3A%22expoVariationValue%22%7D%2C%7B%22key%22%3A%22expoVars%22%2C%22value%22%3A%22expoVariationValue2%22%7D%5D%7D%2C%22p13N%22%3A%7B%22userClientInfo%22%3A%7B%22isZipLocated%22%3Atrue%2C%22deviceType%22%3A%22desktop%22%2C%22callType%22%3A%22CLIENT%22%7D%2C%22userReqInfo%22%3A%7B%22refererContext%22%3A%7B%22source%22%3A%22itempage%22%7D%2C%22pageUrl%22%3A%22%2Fip%2FKI-8jcuD-Women-S-Slippers-Sandals-For-Women-Ladies-Heel-High-Bownot-Casual-Shoes-Size-11W-With-Arch-Support-Summer-Womens-Tie-Up-12-Double-Strap-S%2F2427712578%22%7D%7D%2C%22p13nCls%22%3A%7B%22pageId%22%3A%222427712578%22%2C%22userClientInfo%22%3A%7B%22isZipLocated%22%3Atrue%2C%22callType%22%3A%22CLIENT%22%7D%2C%22userReqInfo%22%3A%7B%22refererContext%22%3A%7B%22source%22%3A%22itempage%22%2C%22query%22%3A%22%22%7D%7D%2C%22p13NCallType%22%3A%22ATF%22%7D%2C%22fBBAd%22%3Atrue%2C%22fSL%22%3Atrue%2C%22fIdml%22%3Atrue%2C%22fMrkDscrp%22%3Afalse%2C%22fRev%22%3Atrue%2C%22fFit%22%3Atrue%2C%22fSeo%22%3Atrue%2C%22fP13%22%3Atrue%2C%22fAff%22%3Atrue%2C%22fMq%22%3Atrue%2C%22fGalAd%22%3Afalse%2C%22fSCar%22%3Atrue%2C%22fBB%22%3Atrue%2C%22eItIb%22%3Atrue%2C%22fIlc%22%3Atrue%2C%22bbe%22%3Atrue%2C%22epsv%22%3Afalse%2C%22fSId%22%3Afalse%2C%22sVSC%22%3Afalse%2C%22eSb%22%3Atrue%2C%22eCc%22%3Afalse%2C%22enableDetailedBeacon%22%3Afalse%2C%22includeLabelV1%22%3Atrue%2C%22sV%22%3Afalse%2C%22sVC%22%3Afalse%2C%22enableRelatedSearch%22%3Afalse%7D :Scheme:https Accept:application/json Accept-Encoding:gzip, deflate, br Accept-Language:zh-CN,zh;q=0.9 Cache-Control:no-cache Calltype:CLIENT Content-Type:application/json Cookie:wmtboid=1685581248-4500789560-15321836800-47880740; abqme=false; mobileweb=0; xpth=x-o-mart%2BB2C~x-o-mverified%2Bfalse; vtc=TLF5G_I2fOsVpyp7z6sVmU; bstc=TLF5G_I2fOsVpyp7z6sVmU; xpa=0uTG6|14us3|1D1l5|1bHX2|22Hwl|3caIW|7Zo3P|8egVy|8xs3C|AfcHJ|BucnY|DzAbI|EJHIE|Edk-I|EkYVn|IhmrE|JHbjS|LUtaE|Lv8MR|M09Gt|MlPcb|NyQZE|RJgua|RaraV|S9WVB|Ses51|W04B6|XVDYZ|XXa-w|XqDHM|_0yBG|iuIoE|jJAPh|jQFYj|jyp9o|kHCgj|kpr0y|p1HUG|pWGxn|pyVOq|tWK0P|yOHQT|z6V--|z6lke; exp-ck=0uTG611bHX2122Hwl13caIW17Zo3P18egVy1AfcHJ1BucnY1EJHIE1JHbjS3LUtaE1MlPcb1NyQZE2RaraV1XVDYZ1XXa-w1XqDHM2jJAPh2kpr0y1p1HUG1pWGxn2tWK0P1z6V--1z6lke1; _pxhd=205a8f83d19fcb162934dff1f1efda89ae81b2d72942a408a946128b17ee9eff:bf02e41b-0017-11ee-b482-555585ad2373; ak_bmsc=C31FD6BFEF1DAD49ACF128CC5AE51D55~000000000000000000000000000000~YAAQDi0+F/FeH3CIAQAAKbh4dBMvWqqPTsfxMCgt70JbG/q0Zfx6EBIKV946ckog8cZsyQCAXfDeo5D7q9AD4JU6XGi3eldJFHXGguoVCtloU9wq7QQjJubnwOXsxL3fwDfsWEoG2h+EC9cPPPvSBqHTW7Cp/61D+otxgD0fJkxs+eycJIM40eEK/HVmnv9dd2iB13nIT4hN74OE/B2nH8A0TEciA6deXHHCHaQaoYRGYvKJkF1zkAGFBKJ2UJ0pG6Zeys2lkFEQ4fHBxaT4PE6IDIBh4+vD4GTjfNAdz1aHyIX3lqzRTC98MeDzvut6daYdXphJ3JSKHDShYObSpjdiOlCLAPSHn7yiAp0IzMVV92KBdsBdk5RMin1qI1Z+lpA4xjasZhTqJg==; pxcts=c0deeed6-0017-11ee-9247-4e4f546c4564; _pxvid=bf02e41b-0017-11ee-b482-555585ad2373; AID=wmlspartner%3D0%3Areflectorid%3D0000000000000000000000%3Alastupd%3D1685581305222; auth=MTAyOTYyMDE4GWWKYE4jnMPGECV%2FbIONDuP8TrhRv%2Fn19zR3Hm60VinP%2BEmx4OyX2pnMNdea6CDP6vdTJw6XVX7FwFg2%2Bl1scgLrsbSCIWeJRIQUoJWX31QRHF06yqpjRRBQPqYwXwrS767wuZloTfhm7Wk2KcjyglM949MaUzwsNnQKx2EXSLkjlTCZZIU%2BuBSE8rgwdWCE2oDynmTBrNONGMO%2Beu0BkAoB3t3a%2Fc0z%2FA4aNhyj5n4UMk70P8glgOEpLOprhDfMDCcb9mgycy9jtT1uIyOBHTlXyxwH9oFVQ9DT5OpUKsvGJBCE2G8cV1PLeyI34OibR4OLQ9h27j16auP%2BlOEAkNudlIjAimHM4Pf0shynh6PKKW1maUAnQPP1g4c1fNmvg4lFuJHE1bWSiKihIRwM%2F0jyrOXbKKhH072NS%2FW0j%2FU%3D; ACID=194978bc-a20c-4a11-8452-7b74275abd29; hasACID=true; locDataV3=eyJpc0RlZmF1bHRlZCI6dHJ1ZSwiaXNFeHBsaWNpdCI6ZmFsc2UsImludGVudCI6IlNISVBQSU5HIiwicGlja3VwIjpbeyJidUlkIjoiMCIsIm5vZGVJZCI6IjMwODEiLCJkaXNwbGF5TmFtZSI6IlNhY3JhbWVudG8gU3VwZXJjZW50ZXIiLCJub2RlVHlwZSI6IlNUT1JFIiwiYWRkcmVzcyI6eyJwb3N0YWxDb2RlIjoiOTU4MjkiLCJhZGRyZXNzTGluZTEiOiI4OTE1IEdlcmJlciBSb2FkIiwiY2l0eSI6IlNhY3JhbWVudG8iLCJzdGF0ZSI6IkNBIiwiY291bnRyeSI6IlVTIiwicG9zdGFsQ29kZTkiOiI5NTgyOS0wMDAwIn0sImdlb1BvaW50Ijp7ImxhdGl0dWRlIjozOC40ODI2NzcsImxvbmdpdHVkZSI6LTEyMS4zNjkwMjZ9LCJpc0dsYXNzRW5hYmxlZCI6dHJ1ZSwic2NoZWR1bGVkRW5hYmxlZCI6dHJ1ZSwidW5TY2hlZHVsZWRFbmFibGVkIjp0cnVlLCJodWJOb2RlSWQiOiIzMDgxIiwic3RvcmVIcnMiOiIwNjowMC0yMzowMCIsInN1cHBvcnRlZEFjY2Vzc1R5cGVzIjpbIlBJQ0tVUF9DVVJCU0lERSIsIlBJQ0tVUF9JTlNUT1JFIl19XSwic2hpcHBpbmdBZGRyZXNzIjp7ImxhdGl0dWRlIjozOC40ODI2NzcsImxvbmdpdHVkZSI6LTEyMS4zNjkwMjYsInBvc3RhbENvZGUiOiI5NTgyOSIsImNpdHkiOiJTYWNyYW1lbnRvIiwic3RhdGUiOiJDQSIsImNvdW50cnlDb2RlIjoiVVMiLCJsb2NhdGlvbkFjY3VyYWN5IjoibG93IiwiZ2lmdEFkZHJlc3MiOmZhbHNlfSwiYXNzb3J0bWVudCI6eyJub2RlSWQiOiIzMDgxIiwiZGlzcGxheU5hbWUiOiJTYWNyYW1lbnRvIFN1cGVyY2VudGVyIiwic3VwcG9ydGVkQWNjZXNzVHlwZXMiOlsiUElDS1VQX0NVUkJTSURFIiwiUElDS1VQX0lOU1RPUkUiXSwiaW50ZW50IjoiUElDS1VQIn0sImluc3RvcmUiOmZhbHNlLCJkZWxpdmVyeSI6eyJidUlkIjoiMCIsIm5vZGVJZCI6IjMwODEiLCJkaXNwbGF5TmFtZSI6IlNhY3JhbWVudG8gU3VwZXJjZW50ZXIiLCJub2RlVHlwZSI6IlNUT1JFIiwiYWRkcmVzcyI6eyJwb3N0YWxDb2RlIjoiOTU4MjkiLCJhZGRyZXNzTGluZTEiOiI4OTE1IEdlcmJlciBSb2FkIiwiY2l0eSI6IlNhY3JhbWVudG8iLCJzdGF0ZSI6IkNBIiwiY291bnRyeSI6IlVTIiwicG9zdGFsQ29kZTkiOiI5NTgyOS0wMDAwIn0sImdlb1BvaW50Ijp7ImxhdGl0dWRlIjozOC40ODI2NzcsImxvbmdpdHVkZSI6LTEyMS4zNjkwMjZ9LCJpc0dsYXNzRW5hYmxlZCI6dHJ1ZSwic2NoZWR1bGVkRW5hYmxlZCI6dHJ1ZSwidW5TY2hlZHVsZWRFbmFibGVkIjp0cnVlLCJhY2Nlc3NQb2ludHMiOlt7ImFjY2Vzc1R5cGUiOiJERUxJVkVSWV9BRERSRVNTIn1dLCJodWJOb2RlSWQiOiIzMDgxIiwiaXNFeHByZXNzRGVsaXZlcnlPbmx5IjpmYWxzZSwic3VwcG9ydGVkQWNjZXNzVHlwZXMiOlsiREVMSVZFUllfQUREUkVTUyJdfSwicmVmcmVzaEF0IjoxNjg1NTg0OTA1MjYyLCJ2YWxpZGF0ZUtleSI6InByb2Q6djI6MTk0OTc4YmMtYTIwYy00YTExLTg0NTItN2I3NDI3NWFiZDI5In0%3D; assortmentStoreId=3081; hasLocData=1; locGuestData=eyJpbnRlbnQiOiJTSElQUElORyIsImlzRXhwbGljaXQiOmZhbHNlLCJzdG9yZUludGVudCI6IlBJQ0tVUCIsIm1lcmdlRmxhZyI6ZmFsc2UsImlzRGVmYXVsdGVkIjp0cnVlLCJwaWNrdXAiOnsibm9kZUlkIjoiMzA4MSIsInRpbWVzdGFtcCI6MTY4NTU4MTMwNTI1OSwic3RvcmVTZWxlY3Rpb25UeXBlIjoiREVGQVVMVEVEIn0sInNoaXBwaW5nQWRkcmVzcyI6eyJ0aW1lc3RhbXAiOjE2ODU1ODEzMDUyNTksInR5cGUiOiJwYXJ0aWFsLWxvY2F0aW9uIiwiZ2lmdEFkZHJlc3MiOmZhbHNlLCJwb3N0YWxDb2RlIjoiOTU4MjkiLCJjaXR5IjoiU2FjcmFtZW50byIsInN0YXRlIjoiQ0EiLCJkZWxpdmVyeVN0b3JlTGlzdCI6W3sibm9kZUlkIjoiMzA4MSIsInR5cGUiOiJERUxJVkVSWSIsInN0b3JlU2VsZWN0aW9uVHlwZSI6IkRFRkFVTFRFRCIsInN0b3JlU2VsZWN0aW9uU291cmNlIjpudWxsLCJ0aW1lc3RhbXAiOjE2ODU1ODEzMDUyNTl9XX0sInBvc3RhbENvZGUiOnsidGltZXN0YW1wIjoxNjg1NTgxMzA1MjU5LCJiYXNlIjoiOTU4MjkifSwidmFsaWRhdGVLZXkiOiJwcm9kOnYyOjE5NDk3OGJjLWEyMGMtNGExMS04NDUyLTdiNzQyNzVhYmQyOSJ9; userAppVersion=main-1.73.1-ad9db2-0528T0131; xptwj=qq:31db20f75d51ed711420:TEkPf84bH7Q/OoOkvXqt4AscDl4IdryfNIXHajFCcVhSGqZl5g88GnMvBTOa4d3XJcvpwy8BaqZkuUkwp0LpsXI3r/4jqcdzaWVmucIw/r4nFhAcfCfProfwAIY4/V8Rj9Sc5eN5SeQWQzibIP6uMb4Ae493; bm_mi=F8520A001B717C1D1256C3D14B94BE07~YAAQDi0+F8aJH3CIAQAAZJd5dBP7KoCWzS4s0qfHahCJU7jyWX5ZtIt+Yb5UrNy3D+F0oPQWBgXoii0vr+efQtgVPZ6Oi+tpDF4SyV3sAOTY0S80uYyZX6xrNc7BxrAmxNMXKcBdVrxrtZixnL0z5wo/BG9fTpq7S52kt0VdhgjtaQy21NkAEfX1vo3kSBJifCJUPRUJb9b6uRmcMObo1NBpYzn2ZotgbBIqFCuXwl543kZEa8MJFMmZqaVS64Tceqbm74YRJ+A9oqq7IvRPlirouUFPQMJjUCssYjWo3d7Gl1ercy6q0emBQJ43mx6IYQ9JcTYNJz/QQGjalLvmlAZdBD3DvhumalrCHAeHcxMLYDoo3T4ElBPVJKrkR6nnZIk7YSSKuAEm6f6utD/ZaXYweNpXorg70AV6OcNNOs6LLQFOpH7QcyHz+FB2994N4DO7Igf96/l/esfhL52Z4lhDZ0dP1tn5FoGLLhEh30wfk192MYcx6N9jVymqGBOPZ/6mhZ0ga1Kt1pFT9+E=~1; TBV=7; _astc=d5a038d72d52374d2c766fd10c2e262c; adblocked=false; xptc=assortmentStoreId%2B3081; akavpau_p2=1685581911~id=63310055edc07bfbd3ea936c86fc4363; com.wm.reflector="reflectorid:0000000000000000000000@lastupd:1685581312000@firstcreate:1685581305222"; xpm=1%2B1685581311%2BTLF5G_I2fOsVpyp7z6sVmU~%2B0; xptwg=3289879495:10D938A65D88100:2AEE5C0:ABCA8DFE:829A369D:12CCBA0F:; TS012768cf=01f12f02a425c6c2cfc53024abeead799ddf3c2b511753b662ba1be769cdbe900bbc2a30a12f44f72cea4d33ad3c6ddec1760aba3d; TS01a90220=01f12f02a425c6c2cfc53024abeead799ddf3c2b511753b662ba1be769cdbe900bbc2a30a12f44f72cea4d33ad3c6ddec1760aba3d; TS2a5e0c5c027=08cdca768aab2000654cd2e1f337cdda2d80e869eafac5a04884759420322e14685f0f1463487e2708e7459ac4113000532ddf48339e085aeafd98c97e79e32130e93500c88aab0bbdd01d20b5cd314f0e330c0fe411d7f829fcb74b26f39102; bm_sv=DB023C270727AE9F210C6D305DBCEBE6~YAAQDi0+Fw+OH3CIAQAAxbJ5dBM2v8nJJ2hLZpOJTehLFYo5hnssc94p/2YD+UYlV6i0OijyEvGcAiJqRuwfNP770UnreCazJ4yiS4ml6hqmFmPnBZnjkKIZAlXfTqxygg2lxn1mU91Eecu9KkQkE/ktiu/cSF+zHpnMnEDVLU5j+o/CLrAonGevjQo7IU9xch5mdZ1KA+5p27JiQbveToSR1xMbnEbdA42njvN70m7Clxbevd6qquEJvzqibbVteA==~1; _sp_ses.ad94=*; _sp_id.ad94=d17831bb-6f6a-48d7-9e14-d2575714429d.1685581314.1.1685581317.1685581314.624f233a-2f80-454d-877b-6046d1422657 Device_profile_ref_id:XA0kD1003EhiSH5XUXUrJqyJG00bzKlhTBsK Ip-Referer:https://www.walmart.com/ip/KI-8jcuD-Women-S-Slippers-Sandals-For-Women-Ladies-Heel-High-Bownot-Casual-Shoes-Size-11W-With-Arch-Support-Summer-Womens-Tie-Up-12-Double-Strap-S/2566328767 Is-Variant-Fetch:true Pragma:no-cache Referer:https://www.walmart.com/ip/KI-8jcuD-Women-S-Slippers-Sandals-For-Women-Ladies-Heel-High-Bownot-Casual-Shoes-Size-11W-With-Arch-Support-Summer-Womens-Tie-Up-12-Double-Strap-S/2427712578 Sec-Ch-Ua:"Google Chrome";v="113", "Chromium";v="113", "Not-A.Brand";v="24" Sec-Ch-Ua-Mobile:?0 Sec-Ch-Ua-Platform:"Windows" Sec-Fetch-Dest:empty Sec-Fetch-Mode:cors Sec-Fetch-Site:same-origin Traceparent:00-94a0d6fcd468da06d248bf4d68fb6a19-f731a43544bc37fe-00 Traffic-Type:Internal User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36 Wm_mp:true Wm_page_url:https://www.walmart.com/ip/KI-8jcuD-Women-S-Slippers-Sandals-For-Women-Ladies-Heel-High-Bownot-Casual-Shoes-Size-11W-With-Arch-Support-Summer-Womens-Tie-Up-12-Double-Strap-S/2427712578 Wm_qos.Correlation_id:YMWGfSzh2qyVOH2oLKZ5gZrx1Le1kwhWn2IS X-Apollo-Operation-Name:ItemById X-Enable-Server-Timing:1 X-Latency-Trace:1 X-O-Bu:WALMART-US X-O-Ccm:server X-O-Correlation-Id:YMWGfSzh2qyVOH2oLKZ5gZrx1Le1kwhWn2IS X-O-Gql-Query:query ItemById X-O-Item-Id:2427712578 X-O-Mart:B2C X-O-Platform:rweb X-O-Platform-Version:main-1.73.1-ad9db2-0528T0131 X-O-Segment:oaoh ) req.AllowRedirects = true req.Proxies = "http://192.168.120.123:9999"

// req.Params = url.ParseParams(`variables=`)
params := url.NewParams()
params.Add("variables", `{"channel":"WWW","pageType":"ItemPageGlobal","tenant":"WM_GLASS","version":"v1","iId":"2427712578","layout":["itemDesktop"],"tempo":{"targeting":"%7B%22userState%22%3A%22loggedIn%22%7D","params":[{"key":"expoVars","value":"expoVariationValue"},{"key":"expoVars","value":"expoVariationValue2"}]},"p13N":{"userClientInfo":{"isZipLocated":true,"deviceType":"desktop","callType":"CLIENT"},"userReqInfo":{"refererContext":{"source":"itempage"},"pageUrl":"/ip/KI-8jcuD-Women-S-Slippers-Sandals-For-Women-Ladies-Heel-High-Bownot-Casual-Shoes-Size-11W-With-Arch-Support-Summer-Womens-Tie-Up-12-Double-Strap-S/2427712578"}},"p13nCls":{"pageId":"2427712578","userClientInfo":{"isZipLocated":true,"callType":"CLIENT"},"userReqInfo":{"refererContext":{"source":"itempage","query":""}},"p13NCallType":"ATF"},"fBBAd":true,"fSL":true,"fIdml":true,"fMrkDscrp":false,"fRev":true,"fFit":true,"fSeo":true,"fP13":true,"fAff":true,"fMq":true,"fGalAd":false,"fSCar":true,"fBB":true,"eItIb":true,"fIlc":true,"bbe":true,"epsv":false,"fSId":false,"sVSC":false,"eSb":true,"eCc":false,"enableDetailedBeacon":false,"includeLabelV1":true,"sV":false,"sVC":false,"enableRelatedSearch":false}`)
req.Params = params
resp, err := requests.Get(`http://www.walmart.com/orchestra/pdp/graphql/ItemById/884b151e9b96e769d2af2c1eea28439993342b388e37cd5a074b3bc03ce323b8/ip/2427712578`, req)
if err != nil {
    fmt.Println(err.Error())
}

fmt.Println(resp.Text)

}

// 可以通过抓包发现重定向301后的第二次请求,是没有cookie信息的

oioie commented 1 year ago

error

wangluozhe commented 1 year ago

已更新,更新到1.1.15版本即可。