{"message": "Sorry, there was a problem with your request.", "status": "fail", "error_type": "sentry_block"}
[-] Login failed: unExpected("sentry_block")
๋ด๊ฐ ์ผํธ๋ฆฌ ์ฐจ๋จ์ ์ ๋ฐํ๋ ์๋ชป๋ ์ผ์ ํ๊ณ ์๋ ๊ฒ์ ๋๊น? ๋ด๊ฐ ์ผํธ๋ฆฌ ์ฐจ๋จ์ ๋ฐฉ์งํ๊ธฐ ์ํด ํ ์ ์๋ ์ผ์ด ์์ต๋๊น?
let user = SessionStorage.create(username: "\(String(username!))", password: "\(String(password!))")
let userAgent = CustomUserAgent(apiVersion: "89.0.0.0", osName: "iOS", osVersion: "12", osRelease: "1.4", dpi: "458", resolution: "2688x1242", company: "Apple", model: "iPhone10,3", modem: "intel", locale: "en_US", fbCode: "95414346")
HttpSettings.shared.addValue(userAgent.toString(), forHTTPHeaderField: Headers.HeaderUserAgentKey)
let urlSession = URLSession(configuration: .default)
let handler = try! APIBuilder().createBuilder().setHttpHandler(urlSession: urlSession).setRequestDelay(delay: .default).setUser(user: user).build()
var _error: Error?
do {
try handler.login { (result, cache) in
if result.isSucceeded {
DispatchQueue.main.async {
self.statusLabel!.text = "logged in"
self.bubbleColor!.image = UIImage(named: "bubble_green")
self.statusText!.textColor = UIColor(red:0.22, green:0.64, blue:0.04, alpha:1.0)
}
print("[+]: logged in")
} else {
print("[-] Login failed: \(result.info.error)")
_error = result.info.error
DispatchQueue.main.async {
self.statusLabel!.text = "login failed"
self.errorLabel!.text = "\(_error!)"
self.bubbleColor!.image = UIImage(named: "bubble_red")
self.statusText!.textColor = UIColor(red:0.91, green:0.06, blue:0.06, alpha:1.0)
}
}
}
}
๊ทํ์ ๊ณ์ ๋๋ IP ์ฃผ์๊ฐ ์ด API์ ์ํด ์ผ์์ ์ผ๋ก ์ฐจ๋จ๋์์ต๋๋ค.
mgp25 ์ ๋ฐ๋ฅด๋ฉด :
์คํธ/๋ด ํ๋์ด ๊ฐ์ง๋์ด ๊ทํ์ ๊ณ์ ์ด API์์ ์ฐจ๋จ๋์์ ๋ Instagram์ ์๋ต์ ๋๋ค.
"๋ณด์ด ์ฐจ๋จ"์ ๋ค์ ์ค ํ๋๋ก ์ธํด Instagram์ด ์ด PHP API ๋ผ์ด๋ธ๋ฌ๋ฆฌ(๋ฐ ์ด์ ์ ์ฌํ ๋ค๋ฅธ ๋ชจ๋ ๋ฆฌ๋ฒ์ค ์์ง๋์ด๋ง ๋ผ์ด๋ธ๋ฌ๋ฆฌ)๋ฅผ ์ฌ์ฉํ๋ ๊ณ์ ๊ธฐ๋ฅ์ ์ฐจ๋จํ์์ ์๋ฏธํฉ๋๋ค.์คํธ ๋๋ ๊ธฐํ ๋จ์ฉ(์: ๋๋ ํ๋ก์ฐ)
๋๋ ์ธ๊ฐ์ด ์ ๋ ํธ์ถํ์ง ์๋ ๋ฐฉ์์ผ๋ก ๋ฐ๋ณต์ ์ผ๋ก API๋ฅผ ์ฌํ๊ฒ ์ค์ฉํฉ๋๋ค.
์ผ๋ฐ ์ฌ๋์ฒ๋ผ ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ์ฌ๋๋ค์ ๋ณด์ด๊ฐ ์ฐจ๋จ๋์ง ์์ต๋๋ค. ์ฆ, Instagram์ ์ํด ์ฐจ๋จ๋๊ธฐ ์ํด ๋์ ์ผ์ ํด์ผ ํ์ต๋๋ค.
์ฐธ๊ณ : ์ธ์ฆ์ ์ํด ์น ๋ก๊ทธ์ธ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋น ๋ฅธ ๋ต๋ณ ๊ฐ์ฌํฉ๋๋ค ํ๋ฒ ๊ฐ๋ณด๊ฒ ์ต๋๋ค ๊ฐ์ฌํฉ๋๋ค!
์ฒ๋ง์์
๋ค๋ฅธ ์ง๋ฌธ์ด ์์ผ๋ฉด ๋ฌธ์ ๋ฅผ ๋ซ์ต๋๋ค.
์๋ ํ์ธ์, ์ ๊ณ์ ์ผ๋ก๋ ์ผํธ๋ฆฌ ๋ธ๋ก์ ๋ฐ๊ณ ์์ต๋๋ค. ๊ธฐ๋ณธ ์ฌ์ฉ์ ์์ด์ ํธ๋ฅผ ์ฐจ๋จํ์ง ์๋ ๊ฒ์ด ํ์คํฉ๋๊น?
๊ธฐ๋ณธ ์ฌ์ฉ์ ์์ด์ ํธ #10์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
ํ์ง๋ง ๊ธฐ๋ณธ ์ฌ์ฉ์ ์์ด์ ํธ๋ก ๋ก๊ทธ์ธํ ์ ์์ต๋๋ค. ์๋ฌด๋ฐ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
๋ ๋ฒ์งธ ๋ฐฉ๋ฒ์ ์น ๋ก๊ทธ์ธ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ ๊ฒ์
๋๋ค.
์๋
ํ์ธ์
๋ด ๊ณ์ ์ ๋ก๊ทธ์ธํ๊ธฐ ์ํด ๊ธฐ๋ณธ ์ฝ๋๋ฅผ ์๋ํ์ง๋ง ์คํจํ์ต๋๋ค.
๋์์ฃผ์ธ์.
{"message": "Sorry, there was a problem with your request.", "status": "fail", "error_type": "sentry_block"}
[-] Login failed: unExpected("sentry_block")
@freedevcoder ์๋
ํ์ธ์, ์น ๋ก๊ทธ์ธ ๊ธฐ๋ฅ์ ์ฌ์ฉํฉ๋๋ค.
๋ ๋ฒ์งธ ๋ก๊ทธ์ธ ๋ฐฉ๋ฒ์ ์ฐ๊ตฌ ์ค์
๋๋ค.
์ง๊ธ์ ์น ๋ก๊ทธ์ธ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด์ผ ํฉ๋๋ค.
๊ฐ์ฌ ํด์
์น ๋ก๊ทธ์ธ ์๋ฃจ์ ์ ๋ํ ์ํ์ด ์์ต๋๊น?
์ฌ๊ธฐ์ en ์๊ฐ ์์ต๋๋ค.
https://github.com/TheM4hd1/SwiftyInsta/issues/9#issuecomment -484058550
๊ฐ์ฌ ํด์ .
SessionCache๋ฅผ ํ์ผ์ ์ ์ฅํ๊ณ ์ฑ์ ์คํํ ํ ๋ค์ ์ฌ์ฉํ๋๋ก ๋์์ฃผ์๊ฒ ์ต๋๊น?
์ด ์๊ฒฌ์ด ๋์์ด ๋ ๊ฒ์
๋๋ค.
https://github.com/TheM4hd1/SwiftyInsta/issues/9#issuecomment -484913634
https://github.com/TheM4hd1/SwiftyInsta/issues/9#issuecomment -486165298
์๋
์น์ ํ๋ ๋ฉ๋
์ธ์
๊ฐ์ ํ์ผ์ ์ ์ฅํ ํ - ์ด๋์ ์ด๋ป๊ฒ ์ฌ์ฉํฉ๋๊น?
๋์์ฃผ์ธ์.
@freedevcoder
try? handler.login(cache: sessionCache) { (resLogin) in
if resLogin.isSucceeded {
// you're logged in now.
}
}
๊ณ ๋ง์์ ์ฌ๋ํ๋ ๋ฉ๋
Siwa
๋ฅผ ์ฌ์ฉํ์ฌ ๋ก๊ทธ์ธ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ธ์.
๋ก๊ทธ์ธ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ์๋ก์ด ํ๋ ์์ํฌ์
๋๋ค.
https://github.com/TheM4hd1/Siwa
@TheM4hd1
Siwa
๋ฅผ ์ฌ์ฉํ์ฌ ๋ก๊ทธ์ธ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ธ์.
๋ก๊ทธ์ธ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ์๋ก์ด ํ๋ ์์ํฌ์ ๋๋ค.
https://github.com/TheM4hd1/Siwa
SessionCache.from(cookeis: cookeis)์ SwiftyInsta์ ์ต์ ์ปค๋ฐ์ ์๋ ํจ์๊ฐ ์๋๋๋ค.
@RealOlympusDev
๊ธฐ๋ฅ ์ถ๊ฐ, ์ต์ ๋ฒ์ ์ฌ์ฉ 1.0.1
@RealOlympusDev
๊ธฐ๋ฅ ์ถ๊ฐ, ์ต์ ๋ฒ์ ์ฌ์ฉ1.0.1
๊ฐ์ฌ ํด์ :)