问题标签 [python-responses]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
22 浏览

pytest - 如何删除 pytest 的重复响应?

响应库为请求提供模拟。就我而言,它通常看起来像这样:

如何避免这种代码重复?

我很想有一个mock_service_a固定装置或类似的东西。

0 投票
0 回答
38 浏览

python - 当执行按钮或某些操作时,我能否知道后端调用了哪个 API?

实际上,我正在用 python 在 selenium 中编写一个自动化脚本。我正在尝试获取一个附加在 API url 中的 id,该 url 仅在执行操作后才会被命中。为了更清楚:

  • 网格中有一个按钮,单击时会点击获取 API
  • 例如:abc.com/test?id=123456789 这是一个仅在单击按钮时才被点击的 API 示例。我需要获取此 API 的 url,以便我可以拆分它以获得“id=123456789”。
0 投票
1 回答
168 浏览

python-3.x - Python请求给出404响应,但是当我从本地服务器运行代码时得到200

我以前使用过 python 请求。但是,现在我在这个特定的网站Jiomat.com上遇到了 404 问题。

当我尝试从本地服务器发送请求时,它给了我 200 作为响应。当我完成项目并将其部署在 Digital Ocean 服务器上后,我收到 404 作为响应。我不知道为什么。有没有人遇到过同样的问题?我得到了 200 个响应,而不是Jimart.com所有其他网站。

我的系统配置 Python 3.8.6、Ubuntu 20.0、Python Requests

0 投票
1 回答
37 浏览

php - 抓取使用 php 会话的网站时遇到 cookie 错误

我想抓取以下页面:https ://db.aa419.org/fakebankslist.php搜索词“网站”。

我在 python 中使用 requests 包。没有计划尝试 selenium b/c 此页面中没有 javascript,我也不需要单击任何按钮。我认为 requests 包应该有爬取的能力。

对于网站本身,我猜它使用 php 发送查询词。因此,我使用 requests.post() 创建了一个 php 会话并使用 response.cookies 检索 cookie,然后在以下发布请求中将 cookie 提供给站点。代码结构如下:

但是,它仅适用于前 2 页。循环开始爬取第 3 页后,cookie 变为空:<RequestsCookieJar[]>。我检查了第 3 页的响应,发现它是一些与我的查询词“站点”无关的随机页面。

谁能解释一下这种情况是怎么回事?如何继续抓取以下页面?提前致谢!

0 投票
0 回答
37 浏览

python-3.x - 使用 Python 请求模块处理异常的问题

我的代码的以下部分应该在 HTTP 请求期间进行异常处理。

应用程序.py

为了模拟不同的异常,我提出了以下函数,它会生成带有所需状态代码的假 HTTP 响应。然后,在类内部,request.get 方法被替换为假的 http 响应,我们可以测试不同状态码的异常处理是如何工作的。

测试.py

给定状态代码:400,我在终端中正确收到以下 HTTP 错误,这意味着我的代码运行良好:

我的问题是,代码不会对其他情况进行异常处理(例如,重定向过多、超时等)。例如,如果我使用状态码:301 做出虚假的 http 响应,我希望获得太多重定向的异常处理消息。但这根本不会发生。你的建议是什么?

0 投票
0 回答
9 浏览

python-3.x - response.activate 不传递 args 和 kwargs 作为参数

我们有一个用例来模拟带有队列的 API 和带有 moto 的主题。我们编写了一个自定义装饰器来设置队列和主题来测试发布的事件。

当我尝试获取事件时,队列 URL 为空。这是响应的问题吗?或者有没有更好的方法来做到这一点?