使用Python查找用户代理和全局IP地址



有没有办法找到特定json格式的用户代理和全局ip?帮我解决这个问题。以下是我正在尝试的部分成功获得全球IP,但没有关于用户代理的信息。

import requests, json
r = requests.get('http://httpbin.org/ip').json()
print r['origin']

上面的代码给我返回了全球IP,但我想要一些关于我在哪个平台上连接到特定URL的信息。例如'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36'

考虑到您有一个JSON对象作为字符串(可能是从文件中读取的?),您首先需要将其转换为Python字典对象

import json
request_details = json.loads('{"user-agent": "Chrome", "remote_address": "64.10.1.1"}')
print request_details["user-agent"]
print request_details["remote_address"]

如果您谈论的是到达服务器的请求,那么用户代理是请求头的一部分,remote_address稍后会添加到网络层中。不同的web框架有不同的方式让您访问这些值。例如,Django允许您从HttpRequest.META字典进行访问。Flask为您提供request.headers.get("用户代理")和request.remote_addr.

您可以

import requests, json
r = requests.get('https://httpbin.org/user-agent').json()
print r['user-agent']

但只有当我想验证我在请求头中设置的用户代理时,我才会这样做。

最新更新