Форум программистов, компьютерный форум, киберфорум
Python: Сети
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 03.04.2021
Сообщений: 42

Запрос методом POST

18.05.2021, 11:36. Показов 2792. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток!
Прошу помощи в следующем вопросе. Мне нужно сделать запрос методом POST и получить данные в формате JSON с сайта https://drive.co.ua/ при помощи Python. Используя свой код я получаю ошибку (скриншот прикрепляю). Код на Python:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# -*- coding: utf-8 -*-
 
from PyQt5 import QtGui
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QLineEdit
import requests, json
 
def parts_result():
    article = le.text()    
    key = 'fff'
    url = 'https://drive.co.ua/api/'
    params = {'api_key':key,'article':article}
    
    result = requests.post(url, data=json.dumps(params))
    print(result)
                
    json_result = result.json()
    print(json_result)
 
app = QApplication([])
window = QWidget()
window.resize(800,600)
le=QLineEdit(window)
le.move(10,10)
btn_search=QPushButton('Поиск', window)
btn_search.move(150,10)
btn_search.clicked.connect(parts_result)
window.show()
app.exec_()
также прикрепляю пример реализации на PHP
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?php
 
class DriveApi {
 
    private $api_key = '';
    private $api_url = 'https://drive.co.ua/api/';
 
 
    function __construct($api_key) {
        $this->api_key = $api_key;
    }
 
 
    public function getApiUrl ($method) {
        return $this->api_url.$method.'/';
    }
 
    protected function post($method,$data=array())
    {
        $url = $this->getApiUrl($method);
        $ch = curl_init($url);
        $data['api_key']=$this->api_key;
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
        curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
        curl_setopt($ch, CURLOPT_TIMEOUT, 30);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
        $response = curl_exec($ch);
        curl_close($ch);
        return $response;
    }
 
    public function Search($article,$brand='',$show_analog=1)
    {
        $data=array(
            'article' => $article,
            'brand' => $brand,
            'show_analog' => $show_analog
        );
        $ret = $this->post('search', $data);
        return $ret;
    }
 
}
PHP
1
2
3
4
5
6
7
<?php
 
require_once('drive_api.php');
 
$DriveApi =new DriveApi('API_KEY_PUT_HERE');
$data=$DriveApi->Search('oc90');
print_r($data);
Миниатюры
Запрос методом POST  
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.05.2021, 11:36
Ответы с готовыми решениями:

Ajax запрос методом POST
У меня есть файлик с так сказать базой данных db.json { &quot;tags&quot;: } Есть файлик index.html &lt;!DOCTYPE html&gt; ...

POST запрос методом php скрипта
Хочу получить список друзей пользователя с вк. Для этого нкжно отправить Post запрос к vk.com/al_friends.php Как это делает браузер: ...

Обнулить запрос посланный методом post
вообще такое возможно? Не знаю как покорректней решить проблему: если пользователь че-то отредактировал на странице (на которой...

4
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,693
Записей в блоге: 29
18.05.2021, 11:52
Лучший ответ Сообщение было отмечено katyuhma как решение

Решение

Цитата Сообщение от katyuhma Посмотреть сообщение
data=json.dumps(params)
не нужно ничего преобразовывать, просто парамс в дату суй.

ошибку приводи текстом, он внезапно копируется из окна.
1
0 / 0 / 0
Регистрация: 03.04.2021
Сообщений: 42
18.05.2021, 12:13  [ТС]
переписал
Python
1
result = requests.post(url, data = params)
но всё равно ошибка:
<Response [404]>
Traceback (most recent call last):
File "C:\Users\User\YandexDisk\Projects Python\╧ЁюсєхьWindow\╧ЁюсєхьWindow\╧Ёю
сєхьWindow.py", line 16, in parts_result
json_result = result.json()
File "C:\Users\User\AppData\Local\Programs\Py thon\Python38-32\lib\site-package
s\requests\models.py", line 900, in json
return complexjson.loads(self.text, **kwargs)
File "C:\Users\User\AppData\Local\Programs\Py thon\Python38-32\lib\json\__init_
_.py", line 357, in loads
return _default_decoder.decode(s)
File "C:\Users\User\AppData\Local\Programs\Py thon\Python38-32\lib\json\decoder
.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "C:\Users\User\AppData\Local\Programs\Py thon\Python38-32\lib\json\decoder
.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
Для продолжения нажмите любую клавишу . . .
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,693
Записей в блоге: 29
18.05.2021, 12:15
Цитата Сообщение от katyuhma Посмотреть сообщение
Response [404]
с урлом не ошибся?
0
0 / 0 / 0
Регистрация: 03.04.2021
Сообщений: 42
18.05.2021, 15:08  [ТС]
Да, была ошибочка) Спасибо большое, Вы мне помогли!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.05.2021, 15:08
Помогаю со студенческими работами здесь

HTTP запрос методом post и передача данных
Здравствуйте уважаемые программисты! Я написал программу на с++, которая отправляет http запросы методом post и данные, например...

Отправка сайту поисковый запрос методом POST
Всем привет. Есть вот такой скрипт. Полная версия скрипта // ==UserScript== // @author Activa // @name Kinopoisk+...

Как можно правильно послать запрос через WinInet методом 'POST'?
Кто знает, как можно правильно послать запрос через WinInet методом 'POST'?. Это нужно при заполнении web-формы. Ну, например нужно...

Объединение переменных, переданных методом GET и методом POST
Посетитель в форме вводит информацию, которая затем методом POST передается в обработчик, попадая в переменную с именем $info. На...

Послать POST запрос запрос с двумя и более параметрами?
Делаю так: string ProxyString = &quot;&quot;; string URI = @&quot;http://www.easyprog.ru/test.php&quot;;; string...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 03.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru