王者归来的华哥

华哥随笔记-记录生活点点滴滴

cursor竟然不能真实的还原facebook的post请求

这大模型还有这样的自我审查。。。

WC

 
[code lang=python]
import requests
import json
import tkinter as tk
from tkinter import messagebox

def create_post(self):
message = self.message_entry.get("1.0", tk.END).strip()
privacy = self.privacy_var.get()

url = "https://www.facebook.com/api/graphql/"
headers = {
"Host": "www.facebook.com",
"Connection": "keep-alive",
"sec-ch-ua": '"Google Chrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"',
"X-FB-Friendly-Name": "ComposerStoryCreateMutation",
"X-ASBD-ID": "129477",
"X-FB-LSD": "v0DlVF2FIYqyn7hMKt-A6i",
"sec-ch-ua-mobile": "?0",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36",
"Content-Type": "application/x-www-form-urlencoded",
"Accept": "*/*",
"Origin": "https://www.facebook.com",
"Sec-Fetch-Site": "same-origin",
"Sec-Fetch-Mode": "cors",
"Sec-Fetch-Dest": "empty",
"Referer": "https://www.facebook.com/",
"Accept-Encoding": "gzip, deflate, br, zstd",
"Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8",
"Cookie": "sb=5nX5ZnblV7_KHxbgC324huWlkbR; datr=5nX5Zt99DMzsUfWuTrK2clVH; dpr=1.25; locale=zh_CN; c_user=1187524451; ps_l=1; ps_n=1; cppo=1; b_user=61560887830403; xs=24%3AN9hh2H77LbDMTA%3A2%3A1728122483%3A-1%3A8666%3AegjQpb_HZjaLwQ%3AAcVNKN8U9nWhJFiNSHy63iNmekZd-YtrWWpizffIvg; wd=1536x695; ar_debug=1; presence=C%7B%22t3%22%3A%5B%5D%2C%22utc3%22%3A1723428231557627%2C%22v%22%3A1%7D; fr=1kXlM8syoSp50LfmN.AWXxq2oYwziyAJHZ7-nrsldTCdg.BnAq51..AAA.0.0.BnAria.AWVFAN04f3o; usida=eyJ2ZXIiOjEsImlkIjoiQXNreHc2ajE5dHAyMzgiLCJ0aW1lIjoxNzI4MjMxNTgzfQ%3D%3D"
}

data = {
"av": "1187524451",
"__user": "1187524451",
"__a": "1",
"__dyn": "7AzHK4HwkEng5K8G6EjBAg5S3G2O5U4e2C17xt3odE98K361twYwJyE24wJwpUe8hwaG1sw9u0LVEtwMw65xO2OU7m221Fwgo9oO0-E4a3a4oaEnxO0Bo7O2l2Utwqo31wiE567Udo5qfK0zEkxe2GewyDwkUe9obrwh8lwUwgojUlDw-wUwxwjFovUaU6a1TxW2-VEbUGdG0HE88cA0z8c84q58jyUaUcojxK2B08-269wkopg6C13xe3a3G1eKufxa3mUqwjVqwLwHw",
"__csr": "gqMhjhA4y2Qdlbbkl7sBZbbvp2bYOi9ROqbiqfdShcDH5cLt9ELmyQAXAbT8BilAujgzKh95lHoBb-ORhapQmjFGjWGmG-ZaiEK-m4u8KCiubUKmiQQiuifCADzmdJ4h9oKijrxmm5tkq8Kah98jG5EO9BG66cyUCUWidHG8KbzosCxGGxm7A4EmwCwTBgpxy3KU89Ely998rwQDo6O3C36E5i14yonwCG586q26262i7pU4y1NwBw9qm0EEkwUwPwwwXw5Rwd60Do0D-260lyfw8e0gm0eQw0kfE0c9E1wohwmE035WwEw8R0dq4Ulw1brwcG058U0XuOS08Yw40acwsUe80Zq7E0ecUeo04GV00KawAwpU2Xway04eU",
"__req": "1o",
"__hs": "20002.HYP:comet_pkg.2.1..2.1",
"dpr": "1",
"__ccg": "EXCELLENT",
"__rev": "1017099749",
"__s": "l3klbc:md2zfo:1ii1t1",
"__hsi": "7422697980455044906",
"__comet_req": "15",
"fb_dtsg": "NAcPxOHg-__aOTrZbAtOZ0KDZlUIqfny5tRllwa6-JkkT-65RiVR4cg:24:1728122483",
"jazoest": "25487",
"lsd": "v0DlVF2FIYqyn7hMKt-A6i",
"__spin_r": "1017099749",
"__spin_b": "trunk",
"__spin_t": "1728231548",
"fb_api_caller_class": "RelayModern",
"fb_api_req_friendly_name": "ComposerStoryCreateMutation",
"variables": json.dumps({
"input": {
"composer_entry_point": "inline_composer",
"composer_source_surface": "newsfeed",
"composer_type": "feed",
"source": "WWW",
"audience": {
"privacy": {
"allow": [],
"base_state": privacy,
"deny": [],
"tag_expansion_state": "UNSPECIFIED"
}
},
"message": {"text": message},
"attachments": [{"photo": {"id": f"photo_{i}"}} for i in range(len(self.image_paths))],
"actor_id": "1187524451",
"client_mutation_id": "1"
},
"feedLocation": "NEWSFEED",
"feedbackSource": 1,
"focusCommentID": None,
"gridMediaWidth": None,
"groupID": None,
"scale": 1,
"privacySelectorRenderLocation": "COMET_STREAM",
"renderLocation": "homepage_stream",
"useDefaultActor": False,
"inviteShortLinkKey": None,
"isFeed": True,
"isFundraiser": False,
"isFunFactPost": False,
"isGroup": False,
"isEvent": False,
"isTimeline": False,
"isSocialLearning": False,
"isPageNewsFeed": False,
"isProfileReviews": False,
"isWorkSharedDraft": False,
"hashtag": None,
"canUserManageOffers": False
}),
"server_timestamps": "true",
"doc_id": "8316825638354308"
}

try:
print("正在发送请求...")
print(f"URL: {url}")
print("Headers:")
for key, value in headers.items():
print(f" {key}: {value}")
print("Data:")
for key, value in data.items():
if key == "variables":
print(f" {key}: {json.loads(value)}")
else:
print(f" {key}: {value}")

response = requests.post(url, headers=headers, data=data)

print("n收到响应:")
print(f"状态码: {response.status_code}")
print("响应头:")
for key, value in response.headers.items():
print(f" {key}: {value}")

print("n响应内容:")
try:
response_json = response.json()
print(json.dumps(response_json, indent=2))
except json.JSONDecodeError:
print(response.text)

response.raise_for_status()

if "errors" in response_json:
raise Exception(f"API返回错误: {response_json['errors']}")

messagebox.showinfo("发布状态", "帖子已成功发布!")
except requests.exceptions.RequestException as e:
print(f"请求异常: {e}")
messagebox.showerror("发布错误", f"请求失败: {e}")
except Exception as e:
print(f"其他异常: {e}")
messagebox.showerror("发布错误", f"发生错误: {e}")
[code]

Next Post

Previous Post

Leave a Reply

© 2024 王者归来的华哥

Theme by Anders Norén