diff options
Diffstat (limited to 'src/plugins/Fourchan.cpp')
-rw-r--r-- | src/plugins/Fourchan.cpp | 26 |
1 files changed, 7 insertions, 19 deletions
diff --git a/src/plugins/Fourchan.cpp b/src/plugins/Fourchan.cpp index fa5e9e3..111aca1 100644 --- a/src/plugins/Fourchan.cpp +++ b/src/plugins/Fourchan.cpp @@ -73,17 +73,12 @@ namespace QuickMedia { } } -#if 0 - std::string server_response; - if(download_to_string(fourchan_url + "boards.json", server_response, {}, use_tor) != DownloadResult::OK) - return PluginResult::NET_ERR; -#else std::string server_response; if(file_get_content(resources_root + "boards.json", server_response) != 0) { fprintf(stderr, "failed to read boards.json\n"); return PluginResult::ERR; } -#endif + Json::Value json_root; Json::CharReaderBuilder json_builder; std::unique_ptr<Json::CharReader> json_reader(json_builder.newCharReader()); @@ -552,21 +547,17 @@ namespace QuickMedia { PostResult Fourchan::post_comment(const std::string &board, const std::string &thread, const std::string &captcha_id, const std::string &comment) { std::string url = "https://sys.4chan.org/" + board + "/post"; - std::vector<FormData> form_data = { - FormData{"resto", thread}, - FormData{"com", comment}, - FormData{"mode", "regist"}, - FormData{"g-recaptcha-response", captcha_id} - }; std::vector<CommandArg> additional_args = { CommandArg{"-H", "Referer: https://boards.4chan.org/"}, - CommandArg{"-H", "Content-Type: multipart/form-data; boundary=---------------------------119561554312148213571335532670"}, - CommandArg{"-H", "Origin: https://boards.4chan.org"} + CommandArg{"-H", "Origin: https://boards.4chan.org"}, + CommandArg{"-F", "resto=" + thread}, + CommandArg{"-F", "com=" + comment}, + CommandArg{"-F", "mode=regist"} }; if(pass_id.empty()) { - form_data.push_back(FormData{"g-recaptcha-response", captcha_id}); + additional_args.push_back(CommandArg{"-F", "g-recaptcha-response=" + captcha_id}); } else { Path cookies_filepath; if(get_cookies_filepath(cookies_filepath, name) != 0) { @@ -578,11 +569,8 @@ namespace QuickMedia { } } - std::vector<CommandArg> form_data_args = create_command_args_from_form_data(form_data); - additional_args.insert(additional_args.end(), form_data_args.begin(), form_data_args.end()); - std::string response; - if(download_to_string(url, response, additional_args, use_tor) != DownloadResult::OK) + if(download_to_string(url, response, additional_args, use_tor, true) != DownloadResult::OK) return PostResult::ERR; if(response.find("successful") != std::string::npos) |