gpt4 book ai didi

azure - Instagram ?__a=1 查询 : Why do I get login page instead of JSON?

转载 作者:行者123 更新时间:2023-12-03 00:01:44 25 4
gpt4 key购买 nike

以下是返回 Instagram 用户数据 JSON 的示例网址:https://www.instagram.com/therock/?__a=1

它返回如下 JSON:

{
"logging_page_id":"profilePage_232192182",
"show_suggested_profiles":true,
"show_follow_dialog":false,
"graphql":{
"user":{
"biography":"founder",
"blocked_by_viewer":false,
"business_email":null,
"restricted_by_viewer":false,
"country_block":false,
"external_url":"https://projectrock.online/7ad",
"external_url_linkshimmed":"https://l.instagram.com/?u=https%3A%2F%2Fprojectrock.online%2F7ad&e=ATMKh6M0eOgq-_jVoR3-xJ0Q2wwVSenYemMoYM0A0nWrW9Y5P7mDXX1dkk2dDLidhEuV1Wees7Z3teLJqp7vB2k&s=1",
"edge_followed_by":{
"count":199139001
},
"followed_by_viewer":false,
"edge_follow":{
"count":406
},
"follows_viewer":false,
"full_name":"therock",
"has_ar_effects":false

我正在开发 ASP.NET Core API,并且有一个端点可以接收 instagram 句柄并解析 JSON。它在本地工作正常,但当我在 Azure 部署的 API 上访问相同端点时,我得到的是登录页面:

<!DOCTYPE html>
<html lang="en" class="no-js not-logged-in client-root">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">

<title>
Login • Instagram
</title>


<meta name="robots" content="noimageindex, noarchive">
<meta name="apple-mobile-web-app-status-bar-style" content="default">
<meta name="mobile-web-app-capable" content="yes">
<meta name="theme-color" content="#ffffff">
<meta id="viewport" name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, viewport-fit=cover">
<link rel="manifest" href="/data/manifest.json">

我尝试使用第三方浏览器即服务 (PhantomJsCloud),但返回相同的登录页面。我以为是CORS策略的问题,但是修复了也没用,还设置了返回的cookie,但是没有效果。我真的迷失在这里,如果有人能指出为什么会发生这种情况,我将非常感激。谢谢!

最佳答案

可能 Instagram 不希望您像这样获取它,并且有某种机制来识别您的请求是以编程方式完成的。我假设当你在浏览器中调用它时它正在工作。您可以尝试使用 cypress 或 puppeteer 来使其正常工作,或者可能使用带有 token 等的官方 api。

编辑:好吧..我玩了一下,可以让它以某种方式工作,但不确定这有多可靠:

query_id 是来自 Instagram 的某种硬编码内容,其他 id 可以在这里找到:https://gist.github.com/Carlos-Henreis/2df27431fa5d7a84b7a5e57ee1bf6ae2#file-query_id-csv

编辑2:意识到这只有在 Instagram 也没有检测到您的 IP 或您发送登录 session 的 Cookie 时才有效,否则您将无法获得 ProfilePage,而是不幸地获得 LoginAndSignupPage

有关更多信息,请参见此处:https://stackoverflow.com/a/57722553/5195852

关于azure - Instagram ?__a=1 查询 : Why do I get login page instead of JSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64021222/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com