我正在尝试连接到这些地方之一并获取JSON数据:-
https://content.guardianapis.com/search?q=debate&tag=politics/politics&from-date=2014-01-01&api-key=test
https://content.guardianapis.com/search?q=debates&api-key=test
https://content.guardianapis.com/search?api-key=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx
我可以通过浏览器访问全部三个,但是当我尝试通过Android应用访问它们时,出现以下错误:-
NetworkSecurityConfig: No Network Security Config specified, using platform default
Error response code: 400
我已将其添加到manifest.xml:-
<uses-permission android:name="android.permission.INTERNET"/>
我还将其添加到manifest.xml:-
android:networkSecurityConfig="@xml/network_security_config"
并创建了res / xml / network_security_config.xml,其中包含:-
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config>
<domain includeSubdomains="true">content.guardianapis.com</domain>>
</domain-config>
将错误更改为:-
D/NetworkSecurityConfig: Using Network Security Config from resource network_security_config debugBuild: true
Error response code: 400
我知道它不见了:-
<trust-anchors>
<certificates src="@raw/my_ca"/>
</trust-anchors>
但是我不知道证书在哪里,在什么地方或者是否需要它。
不太确定发生了什么,将不胜感激。
另外:- 我可以很好地连接并从以下URL获取JSON:-
https://earthquake.usgs.gov/fdsnws/event/1/query?format=geojson&eventtype=earthquake&orderby=time&minmag=6&limit=10
我所得到的就是这个:-
No Network Security Config specified, using platform default
不购买错误400,而是购买200。因此,这让我觉得有些奇怪的事情正在发生,但不确定在哪里。
答案 0 :(得分:2)
修改后的答案
从代码中删除<domain includeSubdomains="true">secure.example.com</domain>
。
仅使用:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true" />
</network-security-config>
尝试设置cleartextTrafficPermitted=false
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">secure.example.com</domain>
</domain-config>
</network-security-config>
答案 1 :(得分:1)
尝试这些解决方案
解决方案1)
android:usesCleartextTraffic="true"
将此标签添加到manifest
文件的应用程序标签中
解决方案2)
在应用程序标记中添加android:networkSecurityConfig="@xml/network_security_config"
<application
android:name=".ApplicationClass"
android:allowBackup="true"
android:hardwareAccelerated="false"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:largeHeap="true"
android:networkSecurityConfig="@xml/network_security_config"
android:supportsRtl="true"
android:theme="@style/AppTheme">
其中network_security_config.xml
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true" />
</network-security-config>
在res目录下创建xml
,然后在xml文件夹中创建network_security_config.xml
请参阅此答案以获取更多信息 Files are not downloading on Android Pie 9.0 (Xiaomi mi A2) Using Download Manger
答案 2 :(得分:1)
我也面临同样的问题,并尝试了很多解决方案(添加配置等),但它们对我不起作用..我坐下来仔细检查我的代码,代码中有问题我'我写了访问节点。不是语法错误,是节点名称不匹配。