我试图从谷歌用户内容加载图像,通过添加从谷歌到src属性的照片的网址。
<img src="https://lh3.googleusercontent.com/p/AF1QipPs4YaP3-Ok_MctA-97vU3fr3iaf-R0LFEgz4qe=s1600-w400"
在浏览器中它运行良好,但在我的离子应用程序中它给我抛出了错误403。有什么解决方案吗?
nue99wik1#
我遇到了同样的问题,最后我通过编辑network_security_config. xml文件并添加以下内容来解决该问题:
<?xml version="1.0" encoding="utf-8"?> <network-security-config> <domain-config cleartextTrafficPermitted="true"> <domain includeSubdomains="true">localhost</domain> <domain includeSubdomains="true">https://lh3.googleusercontent.com</domain> </domain-config> <base-config cleartextTrafficPermitted="true"> <trust-anchors> <certificates src="system" /> </trust-anchors> </base-config> </network-security-config>
8oomwypt2#
我得到了同样的问题,但我注意到禁止状态是生成时,你发送头referer: http://localhost/如果你删除或更改这个头的值,例如与一个有效的www网站,你获得的图像没有错误。
referer: http://localhost/
curl 'https://lh3.googleusercontent.com/{{img_url}}' \ -H 'authority: lh3.googleusercontent.com' \ -H 'accept: image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8' \ -H 'accept-language: en-US,en;q=0.9' \ -H 'referer: http://localhost/' \ -H 'sec-fetch-dest: image' \ -H 'sec-fetch-mode: no-cors' \ -H 'sec-fetch-site: cross-site' \ -H 'user-agent: Mozilla/5.0 (Linux; Android 12; Build/TPP2.220218.008; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/101.0.4951.41 Mobile Safari/537.36' \ -H 'x-requested-with: {{ionic package}}' \ --compressed
我不知道如何强制webview这样做,但我担心将图像嵌入到<img>标记中是不够的,您需要使用javascript完成请求,手动设置头,并在javascript var中获取base64格式的图像(我也是)
<img>
2条答案
按热度按时间nue99wik1#
我遇到了同样的问题,最后我通过编辑network_security_config. xml文件并添加以下内容来解决该问题:
8oomwypt2#
我得到了同样的问题,但我注意到禁止状态是生成时,你发送头
referer: http://localhost/
如果你删除或更改这个头的值,例如与一个有效的www网站,你获得的图像没有错误。我不知道如何强制webview这样做,但我担心将图像嵌入到
<img>
标记中是不够的,您需要使用javascript完成请求,手动设置头,并在javascript var中获取base64格式的图像(我也是)