حاول تسجيل الدخول باستخدام مستخدم جديد مسجل. لم يكتمل تسجيل الدخول إلى الويب أحيانًا بشكل عشوائي. يُظهر Instagram صفحة اقتراح مستخدم مختلفة. أحاول متابعة مستخدم واحد ، كما تبعني مستخدم واحد (يظهر موجز ويب ولكنه لم يعمل) لم يتم إكمال تسجيل الدخول إلى الويب لهذا المستخدم في الغالب. بعد محاولة تسجيل الدخول مرتين أو ثلاث مرات ، قد يعمل.
عندما تقول أنك مسجل حديثًا ، هل تقصد أن هذا يحدث عند التسجيل من عرض الويب ، أو عند تسجيل الدخول إلى حساب تم إنشاؤه للتو ولكن في مكان آخر؟ تضمين التغريدة
فقط لفهم كيفية محاولة تكرارها 😊
في كلتا الحالتين ، قد يكون التحقق مباشرةً من ملفات تعريف الارتباط ، بدلاً من أي عنوان URL معين ، بمثابة إصلاح (بافتراض أنها جميعًا تم تعيينها قبل الوصول إلى صفحة الاقتراح المذكورة أعلاه). أرسل طلب سحب في أسرع وقت ممكن.
تحقق من رقم 76 ، canaksoy 💪
التغيير الرئيسي ، بخلاف عدم التحقق الفعلي من instagram.com
ولكن فقط لملفات تعريف الارتباط الصالحة ، قمت بإجراء كل عملية init
async
، حتى لا يتم كسر دعم الحسابات المتعددة ( أخطط للتعامل مع هذا بشكل صحيح في 2.0
، إما بإرجاع UIViewController
أو شيء مثل LoginManager
لإنشاء عرض الويب).
أنا في انتظار موافقة @ TheM4hd1 لدمجها بالفعل 😊
تبين أن LoginWebView
لا يزال يعمل حتى في الحالة الموضحة بواسطة canaksoy أعلاه (لقد اختبرته بنفسي bug
مقابل help wanted
واحد.
ومع ذلك ، فإن العلاقات العامة مفيدة لإثبات كل شيء في المستقبل ، ويجب دمجها في imho.
للرجوع إليها في المستقبل ... السلوك الجديد هو هذا.
(mkeshnoda)
class LoginViewController: UIViewController {
var webView: InstagramLoginWebView? {
didSet {
oldValue?.removeFromSuperview()
guard let webView = webView else { return }
// add to view hierarchy (NECESSARY).
view.addSubview(webView)
// always request log in page when setting a new web view.
webView.loadInstagramLogin()
}
}
override func viewDidLoad() {
super.viewDidLoad()
// create a new `InstagramLoginWebView`.
InstagramLoginWebView.create(with: view.bounds,
completionHandler: { _, _ in /* deal with login and failures */ },
returnHandler: { [weak self] in self?.webView = $0 })
}
}
للرجوع إليها في المستقبل ... السلوك الجديد هو هذا.
(mkeshnoda)class LoginViewController: UIViewController { var webView: InstagramLoginWebView? { didSet { oldValue?.removeFromSuperview() guard let webView = webView else { return } // add to view hierarchy (NECESSARY). view.addSubview(webView) // always request log in page when setting a new web view. webView.loadInstagramLogin() } } override func viewDidLoad() { super.viewDidLoad() // create a new `InstagramLoginWebView`. InstagramLoginWebView.create(with: view.bounds, completionHandler: { _, _ in /* deal with login and failures */ }, returnHandler: { [weak self] in self?.webView = $0 }) } }
فعلت بالضبط نفس الشيء ولكن بعد قطع الأشجار في didSuccessfullyLogIn وcompletionHandler لا يعمل 😭
لقد أجريت بعض التصحيح واكتشفت أنه لا يمكنني تسجيل الدخول بسبب filtered.count = 1
. isUserLoggedIn(instagramCookies: [HTTPCookie]?)
2 من ملفات تعريف الارتباط فقط
let filtered = cookies.filter {
!$0.value.isEmpty
&& $0.properties?[.init(rawValue: "Created")] as? TimeInterval ?? 0 > startedAt.timeIntervalSinceReferenceDate
&& ($0.name == "ds_user_id" || $0.name == "csrftoken" || $0.name == "sessionid") }
guard filtered.count >= 3 else { return }
هل يمكنك فتح مشكلة جديدة به وشرح طريقة سيرك؟ تضمين التغريدة
لأنه للأسف هناك حاجة ماسة إلى ملفات تعريف الارتباط الثلاثة هذه ، لذلك لا يمكننا فعل أي شيء لإصلاحها ... فهي تعني حرفياً "تم تسجيل دخولك".
وهذا سبب غريب إذا نجح من قبل ، فيجب أن يعمل جيدًا الآن (تم التحقق بالفعل من اثنين منهم على الأقل). لقد اختبرت مع 4 حسابات مختلفة ويبدو أنها تعمل جميعًا.