Перенаправление URL не распознается

#python #url #redirect

#python #url #перенаправление

Вопрос:

Я пытаюсь проверить, перенаправляет ли URL-адрес на другую страницу. В настоящее время я использую:

 import requests
response = requests.get("https://finance.yahoo.com/quote/SP20930000")
if response.history:
    print("Request was redirected")
    for resp in response.history:
        print(resp.status_code, resp.url)
    print("Final destination:")
    print(response.status_code, response.url)
else:
    print("Request was not redirected")
 

Примечание: правильный URL, который я ищу, это https://finance .yahoo.com/quote/SPY211203C00500000

URL-адрес, который я поместил в приведенный выше код, должен был показать, что код не распознает перенаправление.

Фактический URL-адрес будет получен из более длинного скрипта, см. Ниже:

  from datetime import datetime
 import requests
    
 url = 'https://finance.yahoo.com/quote/'
    
 ticker = "spy".upper()
    
 strike = "500"
 newstrike = (str(strike).zfill(5))
 newnewstrike = newstrike.ljust(8,'0')
    
 cop = "C".upper()
    
 importdate = '12/3/21'
 datetimeobject = datetime.strptime(importdate,'%m/%d/%y')
    
 newdate = datetimeobject.strftime('%y%m%d')

 url2 = (url,ticker,newdate,cop,newnewstrike,sep='')    

 print ("Option Code: ",ticker,newdate,cop,newnewstrike,sep='')
 print (url2)  
 

Это вернет:

 Option Code: SPY211203C00500000
https://finance.yahoo.com/quote/SPY211203C00500000
 

Это превращается в url2 то, что я проверю, когда свяжу 2 вместе.

В настоящее время 2 скрипта не интегрированы, я пытаюсь решить проблему с запросом URL, прежде чем связывать их вместе.


Когда я запускаю его, он сообщает мне, что запрос не был перенаправлен. Однако этот URL перенаправляется на https://finance.yahoo.com/lookup?s=SP20930000 . Разница в том, что путь идет от /quote/code к /lookup?s=code

Когда я использую WhereGoes, это также подтверждает, что его перенаправление 302 на второй URL

Однако в коде указано, что он перенаправляет, если я меняю URL-адрес с https://finance.yahoo.com/code на https://finance.ya0hoo.com/code . Это изменение веб-сайта было случайным 0 , размещенным после a yahoo ввода, и оно было случайно перенаправлено.

Я попытался добавить headers= после URL-адреса во второй строке после URL-адреса, это вернуло синтаксическую ошибку.

Пожалуйста, дайте мне знать, если есть какая-либо другая информация, которая необходима. Я новичок в программировании, поэтому мне может потребоваться минута, чтобы понять и получить то, что вы ищете, чтобы помочь.