问题
I am running an HTTP server which serves a bitmap according to the dimensions in the browser URL i.e localhost://image_x120_y30.bmp
. My server is running in infinite loop and I want to get the URL any time user requests for BITMAP, and at the end I can extract the image dimensions from the URL.
The question asked here:
How to get current URL in python web page?
does not address my problem as I am running in infinite loop and I want to keep on getting the current URL so I can deliver the requested BITMAP to the user.
回答1:
If to use Selenium for web navigation:
from selenium import webdriver
driver = webdriver.Firefox()
print (driver.current_url)
回答2:
You can get the current url by doing
path_info = request.META.get('PATH_INFO')
http_host = request.META.get('HTTP_HOST')
.
You can add these two to get complete url.
Basically request.META returns you a dictionary which contain a lot of information. You can try it.
回答3:
You could use the requests
module:
import requests
link = "https://stackoverflow.com"
data = requests.request("GET", link)
url = data.url
回答4:
I just solved a class problem similar to this. We've been using Splinter to walk through pages (you will need to download splinter and Selenium). As I walk through pages, I periodically need to pull the url of the page I'm currently on. I do that using the command new_url = browser.url Below is an example of my code.
I do this using the following code.
##import dependencies
from splinter import browser
import requests
## go to original page
browser.visit(url)
## Loop through the page associated with each headline
for headline in titles:
print(headline.text)
browser.click_link_by_partial_text(headline.text)
## Now that I'm on the new page, I need to grab the url
new_url = browser.url
print(new_url)
## Go back to original page
browser.visit(url)
来源:https://stackoverflow.com/questions/30479290/get-current-url-from-browser-using-python