在浏览器开发工具中停止网络请求
Stop on a network request in browser dev tools
我在 chrome 开发工具 "Networking" 选项卡中观察到一系列重定向:
我需要能够在 "Networking" 中出现请求后但在执行之前暂停重定向链(以便我可以将其复制为 cURL)。类似于 "Pause on any network activity"。我在 Chrome 开发工具、Firefox Web Developer、Firebug、Safari 中搜索过此功能,但无济于事。最接近的是 firebug 中的 "Pause on XHR",但这些重定向不是 XHR。
我会接受一个非浏览器解决方案(一个脚本?)如果它能完成工作,尽管我觉得这应该可以通过浏览器开发工具实现。
我找不到浏览器解决方案。由于您可以使用非浏览器解决方案,因此有一个 python 脚本(它也使用 requests
库)跟随重定向,直到找到某个后缀并打印 cURL 请求。
#!/usr/bin/env python
import requests
import sys
def formatRequestAscURL(request):
command = "curl -X {method} -H {headers} -d '{data}' '{url}'"
method = request.method
url = request.url
data = request.body
headers = ["{0}: {1}".format(k, v) for k, v in request.headers.items()]
headers = " -H ".join(headers)
return command.format(method=method, headers=headers, data=data, url=url)
def followUntilSuffix(startURL, suffix):
response = requests.get(startURL, allow_redirects=False)
session = requests.Session()
requests_iter = session.resolve_redirects(response, response.request)
for r in requests_iter:
if r.request.path_url.endswith(suffix):
print formatRequestAscURL(r.request)
return
print 'Required redirect isn\'t found'
if len(sys.argv) < 3:
print 'This script requires two parameters:\n 1) start url \n 2) url suffix for stop criteria'
sys.exit()
startURL = sys.argv[1]
stopSuffix = sys.argv[2]
followUntilSuffix(startURL, stopSuffix)
我在 chrome 开发工具 "Networking" 选项卡中观察到一系列重定向:
我需要能够在 "Networking" 中出现请求后但在执行之前暂停重定向链(以便我可以将其复制为 cURL)。类似于 "Pause on any network activity"。我在 Chrome 开发工具、Firefox Web Developer、Firebug、Safari 中搜索过此功能,但无济于事。最接近的是 firebug 中的 "Pause on XHR",但这些重定向不是 XHR。
我会接受一个非浏览器解决方案(一个脚本?)如果它能完成工作,尽管我觉得这应该可以通过浏览器开发工具实现。
我找不到浏览器解决方案。由于您可以使用非浏览器解决方案,因此有一个 python 脚本(它也使用 requests
库)跟随重定向,直到找到某个后缀并打印 cURL 请求。
#!/usr/bin/env python
import requests
import sys
def formatRequestAscURL(request):
command = "curl -X {method} -H {headers} -d '{data}' '{url}'"
method = request.method
url = request.url
data = request.body
headers = ["{0}: {1}".format(k, v) for k, v in request.headers.items()]
headers = " -H ".join(headers)
return command.format(method=method, headers=headers, data=data, url=url)
def followUntilSuffix(startURL, suffix):
response = requests.get(startURL, allow_redirects=False)
session = requests.Session()
requests_iter = session.resolve_redirects(response, response.request)
for r in requests_iter:
if r.request.path_url.endswith(suffix):
print formatRequestAscURL(r.request)
return
print 'Required redirect isn\'t found'
if len(sys.argv) < 3:
print 'This script requires two parameters:\n 1) start url \n 2) url suffix for stop criteria'
sys.exit()
startURL = sys.argv[1]
stopSuffix = sys.argv[2]
followUntilSuffix(startURL, stopSuffix)