python get argument,获取HTTP在Python GET参数

I'm trying to run an Icecast stream using a simple Python script to pick a random song from the list of songs on the server. I'm looking to add a voting/request interface, and my host allows use of python to serve webpages through CGI. However, I'm getting hung up on just how to get the GET arguments supplied by the user. I've tried the usual way with sys.argv:

#!/usr/bin/python

import sys

print "Content-type: text/html\n\n"

print sys.argv

But hitting up http://example.com/index.py?abc=123&xyz=987 only returns "['index.py']". Is there some other function Python has for this purpose, or is there something I need to change with CGI? Is what I'm trying to do even possible?

Thanks.

解决方案

cgi.FieldStorage() should do the trick for you...

it returns a dictionary with key as the field and value as it's value.

import cgi

import cgitb; cgitb.enable() # Optional; for debugging only

print "Content-Type: text/html"

print ""

arguments = cgi.FieldStorage()

for i in arguments.keys():

print arguments[i].value

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python中使用Selenium获取网页的所有网络请求信息,可以通过使用浏览器的开发者工具来实现。下面是一种获取网络请求信息的基本步骤: 1. 首先,确保你已经安装了Selenium库,并且已经下载了对应浏览器的WebDriver(如ChromeDriver)。 2. 导入必要的库和模块: ```python from selenium import webdriver from selenium.webdriver.chrome.options import Options from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.keys import Keys ``` 3. 创建一个WebDriver对象,并设置相关选项: ```python chrome_options = Options() chrome_options.add_argument("--headless") # 无头模式,可选 driver = webdriver.Chrome(chrome_options=chrome_options) ``` 4. 打开目标网页: ```python driver.get("https://www.example.com") ``` 5. 等待页面加载完成: ```python wait = WebDriverWait(driver, 10) wait.until(EC.presence_of_element_located((By.XPATH, "//body"))) ``` 6. 获取所有网络请求信息: ```python network_entries = driver.execute_script("return window.performance.getEntries()") for entry in network_entries: print(entry["name"]) ``` 以上代码段中,`driver.execute_script()` 方法用于执行JavaScript代码,`window.performance.getEntries()` 可以获取到包含所有网络请求的列表。你可以进一步处理这些网络请求信息,例如提取URL、请求方法、响应码等。 注意:使用Selenium获取网络请求信息可能会受到浏览器的安全策略限制,某些网站可能会阻止获取网络请求信息或者要求进行验证码验证。此外,获取网络请求信息可能会增加页面加载时间,因此请根据实际情况谨慎使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值