返回html而不是Json对象python rest api

2024-04-26 17:39:05 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我第一次使用Python rest api调用
响应成功,唯一的问题是我只希望看到一个json对象,而不是html标记。目前,我正在使用这种方法:

import json

import requests
from requests.auth import HTTPDigestAuth

url = "http://api.url"

myResponse = requests.get(url, auth=HTTPDigestAuth(
    'username', 'password'), verify=True)
if(myResponse.ok):
    print(myResponse.content)
else:
    myResponse.raise_for_status()

回来的是这样一件事:

b'\n<!DOCTYPE html>\n<html lang="en">\n<head>\n    \n\n\n\n\n\n\n\n\n<meta charset="utf-8">\n<meta http-equiv="X-UA-Compatible" content="IE=Edge"/>\n<meta name="application-name" content="JIRA" data-name="jira" data-version="8.1.0"><meta name="ajs-server-scheme" content="https">\n<meta name="ajs-server-port" content="443">\n<meta name="ajs-server-name" content="jira.trust-itservices.com">\n<meta name="ajs-behind-proxy" content="null">\n<meta name="ajs-base-url" content="https://jira.trust-itservices.com">\n<meta name="ajs-dev-mode" content="false">\n<meta name="ajs-context-path" content="">\n<meta name="ajs-version-number" content="8.1.0">\n<meta name="ajs-build-number" content="801000">\n<meta name="ajs-is-beta" content="false">\n<meta name="ajs-is-rc" content="false">\n<meta name="ajs-is-snapshot" content="false">\n<meta name="ajs-is-milestone" content="false">\n<meta name="ajs-remote-user" content="">\n<meta name="ajs-remote-user-fullname" content="">\n<meta name="ajs-user-locale" content="en">\n<meta name="ajs-user-locale-group-separator" content=",">\n<meta name="ajs-app-title" content="Trust-IT Jira">\n<meta name="ajs-keyboard-shortcuts-enabled" content="true">\n<meta name="ajs-keyboard-accesskey-modifier" content="Alt">\n<meta name="ajs-enabled-dark-features" content="[&quot;com.atlassian.jira.agile.darkfeature.editable.detailsview&quot;,&quot;nps.survey.inline.dialog&quot;,&quot;com.atlassian.jira.agile.darkfeature.edit.closed.sprint.enabled&quot;,&quot;jira.plugin.devstatus.phasetwo&quot;,&quot;jira.frother.reporter.field&quot;,&quot;atlassian.rest.xsrf.legacy.enabled&quot;,&quot;jira.issue.status.lozenge&quot;,&quot;com.atlassian.jira.config.BIG_PIPE&quot;,&quot;com.atlassian.jira.projects.issuenavigator&quot;,&quot;com.atlassian.jira.config.PDL&quot;,&quot;jira.plugin.devstatus.phasetwo.enabled&quot;,&quot;atlassian.aui.raphael.disabled&quot;,&quot;app-switcher.new&quot;,&quot;frother.assignee.field&quot;,&quot;com.atlassian.jira.projects.ProjectCentricNavigation.Switch&quot;,&quot;jira.onboarding.cyoa&quot;,&quot;com.atlassian.jira.agile.darkfeature.kanplan.enabled&quot;,&quot;com.atlassian.jira.config.ProjectConfig.MENU&quot;,&quot;com.atlassian.jira.projects.sidebar.DEFER_RESOURCES&quot;,&quot;com.atlassian.jira.agile.darkfeature.kanplan.epics.and.versions.enabled&quot;,&quot;com.atlassian.jira.agile.darkfeature.sprint.goal.enabled&quot;,&quot;jira.zdu.admin-updates-ui&quot;,&quot;jira.zdu.jmx-monitoring&quot;,&quot;sd.new.settings.sidebar.location.disabled&quot;,&quot;jira.zdu.cluster-upgrade-state&quot;,&quot;com.atlassian.jira.agile.darkfeature.splitissue&quot;,&quot;com.atlassian.jira.config.CoreFeatures.LICENSE_ROLES_ENABLED&quot;,&quot;jira.export.csv.enabled&quot;]">\n<meta name="ajs-in-admin-mode" content="false">\n<meta name="ajs-is-sysadmin" content="false">\n<meta name="ajs-is-admin" content="false">\n<meta name="ajs-outgoing-mail-enabled" content="true">\n<meta name="ajs-archiving-enabled" content="false">\n<meta name="ajs-date-relativize" content="true">\n<meta name="ajs-date-time" content="h:mm a">\n<meta name="ajs-date-day" content="EEEE h:mm a">\n<meta name="ajs-date-dmy" content="dd/MMM/yy">\n<meta name="ajs-date-complete" content="dd/MMM/yy h:mm a">\n<script type="text/javascript">var AJS=AJS||{};AJS.debug=true;</script>\n\n\n    \n<meta id="atlassian-token" name="atlassian-token" content="BWAC-8WBU-XNHK-O6U3_9eb738dc34edaad0f9eea8dae9a3812ff08af029_lout">\n\n\n\n<link rel="shortcut icon" href="/s/-4jfu5e/801000/6411e0087192541a09d88223fb51a6a0/_/images/fav-jsw.png">\n\n\n    \n\n\n\n

它看起来像是html和json的混合体,但我只想通过打开浏览器看到json!
我是否跳过使用任何方法?

提前谢谢


Tags: namecomjsonfalsedateisatlassianjira
1条回答
网友
1楼 · 发布于 2024-04-26 17:39:05

使用requests的方法是正确的。如果你想看到json,你只需要“简化”你写的东西。基本上,只需尝试替换requests.get参数即可:

response = requests.get(url, auth = ('username', 'password'))

if response.ok:
   jsonContent = response.json()

相关问题 更多 >