Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/21: Рейтинг темы: голосов - 21, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 24.11.2019
Сообщений: 19

Авторизация на сайте методом POST через Android приложение

24.11.2019, 20:11. Показов 4551. Ответов 11

Студворк — интернет-сервис помощи студентам
Необходимо проверить авторизован ли ты на сайте, дан URL ответа JSON. Пожалуйста, подкиньте хотя бы просто варианты, как лучше сделать. Как бы не старалась - отправляется запрос на сервер. Уже неделю сижу невылазно. Заранее огромное спасибо.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.11.2019, 20:11
Ответы с готовыми решениями:

Авторизация на сайте (построенном на MVC 4) через приложение Android
Здравствуйте! История состоит в следующем...на фреймворке MVC 4 был создан сайт. Затем потребовалось написать приложение для платформы...

Авторизация на сайте через post запрос
Всем доброго времени суток. Я новичок в vb net (учусь кодить) недавно мне пришлось работать с post get запросами. Так вот, есть...

Авторизация на сайте через приложение
Добрый день! Подскажите, пожалуйста, как реализовать вход на сайт через приложение. Пробовал через NSURLRequest, но, я так понимаю, это...

11
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
24.11.2019, 20:36
Цитата Сообщение от Anna_Lis Посмотреть сообщение
как лучше сделать
Что сделать?
0
0 / 0 / 0
Регистрация: 24.11.2019
Сообщений: 19
24.11.2019, 23:02  [ТС]
Отправить логин и пароль на сервер методом post.
0
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
24.11.2019, 23:40
В body, в header'e, в url'e логин/пароль должен быть? Какой фреймворк используется, где код вообще? Такое ощущение, что ответ и помощь не нужна, а просто пообщаться хочется.
0
0 / 0 / 0
Регистрация: 24.11.2019
Сообщений: 19
25.11.2019, 18:47  [ТС]
Вот MainActivity
Java
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
public class MainActivity extends AppCompatActivity {
 
    Button  buttonLogin;
    EditText ID_CUSTOMER, PASSWORD;
    //
    final static String NOT_CONNECT = "NOT_CONNECT";
    final static String SUCCESS = "SUCCESS";
    final static String FAILED = "FAILED";
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        buttonLogin = (Button)findViewById(R.id.buttonLogin); 
        ID_CUSTOMER = (EditText)findViewById(R.id.ID_CUSTOMER);
        PASSWORD = (EditText)findViewById(R.id.PASSWORD);
    }
 
    public void setButtonLogin(View view) {
        AsyncTask<String, Void, JSONObject> task = new AsyncTask<String, Void, JSONObject>() {
            @Override
            protected JSONObject doInBackground(String... params) {
                JSONParser jsonParser = new JSONParser();
                List<NameValuePair> loginpass = new ArrayList<NameValuePair>();
                loginpass.add(new BasicNameValuePair("ID_CUSTOMER", params[0]));
                loginpass.add(new BasicNameValuePair("PASSWORD", params[1]));
                JSONObject json = jsonParser.makeHttpRequest("URL...", "POST", loginpass);
                return json;
            }
            @Override
            protected void onPostExecute(JSONObject result) {
                if (result != null) {
                    super.onPostExecute(result);
                    String res = "";
                    try {
                        res = result.getString("status");
                        switch (res) {
                            case NOT_CONNECT:
                                Toast toast_not_connect = Toast.makeText(getApplicationContext(), "Сервер недоступен", Toast.LENGTH_SHORT);
                                toast_not_connect.setGravity(Gravity.CENTER, 0, 0);
                                toast_not_connect.show();
                                break;
 
                            case SUCCESS:
                                Toast toast_success = Toast.makeText(getApplicationContext(), "Вход выполнен", Toast.LENGTH_SHORT);
                                toast_success.setGravity(Gravity.CENTER, 0, 0);
                                toast_success.show();
                                //Intent intentB = new Intent(MainActivity.this, OrdersActivity.class);
                                //startActivity(intentB);
                                break;
 
                            case FAILED:
                                Toast toast_failed = Toast.makeText(getApplicationContext(), "Не правильно введен логин\n или пароль", Toast.LENGTH_SHORT);
                                toast_failed.setGravity(Gravity.CENTER, 0, 0);
                                toast_failed.show();
                                break;
                        }
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                }
            }
    };
        task.execute(ID_CUSTOMER.getText().toString(), PASSWORD.getText().toString());
}
}

Вот лог с ошибкой
Java
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
2019-11-25 18:34:04.730 14361-14361/com.example.json E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.json, PID: 14361
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.json/com.example.json.MainActivity}: java.lang.IllegalStateException: Already attached
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2665)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)
        at android.app.ActivityThread.-wrap12(ActivityThread.java)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:154)
        at android.app.ActivityThread.main(ActivityThread.java:6119)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
     Caused by: java.lang.IllegalStateException: Already attached
        at androidx.fragment.app.FragmentManagerImpl.attachController(FragmentManagerImpl.java:2563)
        at androidx.fragment.app.FragmentController.attachHost(FragmentController.java:116)
        at androidx.fragment.app.FragmentActivity.onCreate(FragmentActivity.java:284)
        at androidx.appcompat.app.AppCompatActivity.onCreate(AppCompatActivity.java:106)
        at com.example.json.MainActivity.onCreate(MainActivity.java:37)
        at android.app.Activity.performCreate(Activity.java:6679)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2618)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726) 
        at android.app.ActivityThread.-wrap12(ActivityThread.java) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477) 
        at android.os.Handler.dispatchMessage(Handler.java:102) 
        at android.os.Looper.loop(Looper.java:154) 
        at android.app.ActivityThread.main(ActivityThread.java:6119) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776) 
0
0 / 0 / 0
Регистрация: 24.11.2019
Сообщений: 19
25.11.2019, 21:26  [ТС]
Не могу найти косяк в коде. Может кто сталкивался с такой проблемой. Выкидывает сразу из приложения.
Вот MainActivity
Java
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
public class MainActivity extends AppCompatActivity {
 
    Button  buttonLogin;
    EditText ID_CUSTOMER, PASSWORD;
    //
    final static String NOT_CONNECT = "NOT_CONNECT";
    final static String SUCCESS = "SUCCESS";
    final static String FAILED = "FAILED";
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        buttonLogin = (Button)findViewById(R.id.buttonLogin); 
        ID_CUSTOMER = (EditText)findViewById(R.id.ID_CUSTOMER);
        PASSWORD = (EditText)findViewById(R.id.PASSWORD);
    }
 
    public void setButtonLogin(View view) {
        AsyncTask<String, Void, JSONObject> task = new AsyncTask<String, Void, JSONObject>() {
            @Override
            protected JSONObject doInBackground(String... params) {
                JSONParser jsonParser = new JSONParser();
                List<NameValuePair> loginpass = new ArrayList<NameValuePair>();
                loginpass.add(new BasicNameValuePair("ID_CUSTOMER", params[0]));
                loginpass.add(new BasicNameValuePair("PASSWORD", params[1]));
                JSONObject json = jsonParser.makeHttpRequest("URL...", "POST", loginpass);
                return json;
            }
            @Override
            protected void onPostExecute(JSONObject result) {
                if (result != null) {
                    super.onPostExecute(result);
                    String res = "";
                    try {
                        res = result.getString("status");
                        switch (res) {
                            case NOT_CONNECT:
                                Toast toast_not_connect = Toast.makeText(getApplicationContext(), "Сервер недоступен", Toast.LENGTH_SHORT);
                                toast_not_connect.setGravity(Gravity.CENTER, 0, 0);
                                toast_not_connect.show();
                                break;
 
                            case SUCCESS:
                                Toast toast_success = Toast.makeText(getApplicationContext(), "Вход выполнен", Toast.LENGTH_SHORT);
                                toast_success.setGravity(Gravity.CENTER, 0, 0);
                                toast_success.show();
                                //Intent intentB = new Intent(MainActivity.this, OrdersActivity.class);
                                //startActivity(intentB);
                                break;
 
                            case FAILED:
                                Toast toast_failed = Toast.makeText(getApplicationContext(), "Не правильно введен логин\n или пароль", Toast.LENGTH_SHORT);
                                toast_failed.setGravity(Gravity.CENTER, 0, 0);
                                toast_failed.show();
                                break;
                        }
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                }
            }
    };
        task.execute(ID_CUSTOMER.getText().toString(), PASSWORD.getText().toString());
}
}
А вот лог при запуске.
Java
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
2019-11-25 18:34:04.730 14361-14361/com.example.json E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.json, PID: 14361
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.json/com.example.json.MainActivity}: java.lang.IllegalStateException: Already attached
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2665)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)
        at android.app.ActivityThread.-wrap12(ActivityThread.java)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:154)
        at android.app.ActivityThread.main(ActivityThread.java:6119)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
     Caused by: java.lang.IllegalStateException: Already attached
        at androidx.fragment.app.FragmentManagerImpl.attachController(FragmentManagerImpl.java:2563)
        at androidx.fragment.app.FragmentController.attachHost(FragmentController.java:116)
        at androidx.fragment.app.FragmentActivity.onCreate(FragmentActivity.java:284)
        at androidx.appcompat.app.AppCompatActivity.onCreate(AppCompatActivity.java:106)
        at com.example.json.MainActivity.onCreate(MainActivity.java:37)
        at android.app.Activity.performCreate(Activity.java:6679)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2618)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726) 
        at android.app.ActivityThread.-wrap12(ActivityThread.java) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477) 
        at android.os.Handler.dispatchMessage(Handler.java:102) 
        at android.os.Looper.loop(Looper.java:154) 
        at android.app.ActivityThread.main(ActivityThread.java:6119) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
0
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
25.11.2019, 21:32
Цитата Сообщение от Anna_Lis Посмотреть сообщение
super.onCreate(savedInstanceState);
Это лишнее в 15й строке.
0
0 / 0 / 0
Регистрация: 24.11.2019
Сообщений: 19
25.11.2019, 22:05  [ТС]
ExFau$t, вот это конечно лучшая ошибка))) Спасибо большое. Можно еще небольшой вопрос. Теперь ругается на вот эти строки
Java
1
2
3
        at com.example.json.JSONParser.makeHttpRequest(JSONParser.java:51 (HttpResponse httpResponse = httpClient.execute(httpPost);))
       at com.example.json.MainActivity$1.doInBackground(MainActivity.java:48(JSONObject json = jsonParser.makeHttpRequest("https://betconstruct.bisonbc.by/api-admin/sign-in", "POST", loginpass);))
        at com.example.json.MainActivity$1.doInBackground(MainActivity.java:41(AsyncTask<String, Void, JSONObject> task = new AsyncTask<String, Void, JSONObject>() ))
Может это и-за подключенных библиотек?
Вот что я использую

Java
1
2
3
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONException;
import org.json.JSONObject;
0
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
25.11.2019, 23:41
Код ошибки полностью.
0
0 / 0 / 0
Регистрация: 24.11.2019
Сообщений: 19
25.11.2019, 23:47  [ТС]
ExFau$t,
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2019-11-25 23:46:24.676 16398-16427/com.example.json E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #1
    Process: com.example.json, PID: 16398
    java.lang.RuntimeException: An error occurred while executing doInBackground()
        at android.os.AsyncTask$3.done(AsyncTask.java:325)
        at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:354)
        at java.util.concurrent.FutureTask.setException(FutureTask.java:223)
        at java.util.concurrent.FutureTask.run(FutureTask.java:242)
        at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
        at java.lang.Thread.run(Thread.java:761)
     Caused by: java.lang.NoSuchMethodError: No virtual method execute(Lorg/apache/http/client/methods/HttpUriRequest;)Lorg/apache/http/client/methods/CloseableHttpResponse; in class Lorg/apache/http/impl/client/DefaultHttpClient; or its super classes (declaration of 'org.apache.http.impl.client.DefaultHttpClient' appears in /system/framework/org.apache.http.legacy.boot.jar)
        at com.example.json.JSONParser.makeHttpRequest(JSONParser.java:51)
        at com.example.json.MainActivity$1.doInBackground(MainActivity.java:48)
        at com.example.json.MainActivity$1.doInBackground(MainActivity.java:41)
        at android.os.AsyncTask$2.call(AsyncTask.java:305)
        at java.util.concurrent.FutureTask.run(FutureTask.java:237)
        at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243) 
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
        at java.lang.Thread.run(Thread.java:761) 
И еще
Java
1
2
2019-11-25 23:45:51.802 16398-16423/com.example.json E/eglCodecCommon: glUtilsParamSize: unknow param 0x000082da
2019-11-25 23:45:51.802 16398-16423/com.example.json E/eglCodecCommon: glUtilsParamSize: unknow param 0x000082da
0
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
25.11.2019, 23:53
Возьми нормальный фреймворк для запросов в сеть, типа okhttp, скопируй пример из их доки, там всё просто. Ни я, ни компилятор не понимаем, что это за код и почему это должно работать.
0
0 / 0 / 0
Регистрация: 24.11.2019
Сообщений: 19
26.11.2019, 12:10  [ТС]
ExFau$t, Посмотрите, пожалуйста. Ничего не происходит почему-то

MainActivity
Java
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
public class MainActivity extends AppCompatActivity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
 
        HashMap<String, String> params = new HashMap<String, String>();
        params.put("log","log1");
        params.put("pay","pay1");
 
        
        String url = "URL";
 
        HttpUtility.newRequest(url,HttpUtility.METHOD_POST,params, new HttpUtility.Callback() {
            @Override
            public void OnSuccess(String response) {
                
                System.out.println("Server OnSuccess response="+response);
            }
            @Override
            public void OnError(int status_code, String message) {
                
                System.out.println("Server OnError status_code="+status_code+" message="+message);
            }
        });
 
    }
 
}
HttpUtility
Java
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
public class HttpUtility {
    public static final int METHOD_GET = 0; // METHOD GET
    public static final int METHOD_POST = 1; // METHOD POST
 
 
    public interface Callback {
      
        public void OnSuccess(String response);
        public void OnError(int status_code, String message);
    }
        public static void newRequest(String web_url, int method, HashMap< String, String > params, Callback callback) {
 
       
        new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    String url = web_url;
                    if (method == METHOD_GET && params != null) {
                        for (Map.Entry < String, String > item: params.entrySet()) {
                            String key = URLEncoder.encode(item.getKey(), "UTF-8");
                            String value = URLEncoder.encode(item.getValue(), "UTF-8");
                            if (!url.contains("?")) {
                                url += "?" + key + "=" + value;
                            } else {
                                url += "&" + key + "=" + value;
                            }
                        }
                    }
 
                    HttpURLConnection urlConnection = (HttpURLConnection) new URL(url).openConnection();
                    urlConnection.setDoOutput(true); // write POST params
                    urlConnection.setUseCaches(false);
                    urlConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); // handle url encoded form data
                    urlConnection.setRequestProperty("charset", "utf-8");
                    if (method == METHOD_GET) {
                        urlConnection.setRequestMethod("GET");
                    } else if (method == METHOD_POST) {
                        urlConnection.setRequestMethod("POST");
                    }
 
                    //write POST data
                    if (method == METHOD_POST && params != null) {
                        StringBuilder postData = new StringBuilder();
                        for (Map.Entry < String, String > item: params.entrySet()) {
                            if (postData.length() != 0) postData.append('&');
                            postData.append(URLEncoder.encode(item.getKey(), "UTF-8"));
                            postData.append('=');
                            postData.append(URLEncoder.encode(String.valueOf(item.getValue()), "UTF-8"));
                        }
                        byte[] postDataBytes = postData.toString().getBytes("UTF-8");
                        urlConnection.setRequestProperty("Content-Length", String.valueOf(postDataBytes.length));
                        urlConnection.getOutputStream().write(postDataBytes);
 
                    }
                    // server response code
                    int responseCode = urlConnection.getResponseCode();
                    if (responseCode == HTTP_OK && callback != null) {
                        BufferedReader reader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
                        StringBuilder response = new StringBuilder();
                        String line;
                        while ((line = reader.readLine()) != null) {
                            response.append(line);
                        }
                        // callback success
                        callback.OnSuccess(response.toString());
                        reader.close(); // close BufferReader
                    } else if (callback != null) {
                        // callback error
                        callback.OnError(responseCode, urlConnection.getResponseMessage());
                    }
 
                    urlConnection.disconnect(); // disconnect connection
                } catch (IOException e) {
                    e.printStackTrace();
                    if (callback != null) {
                        // callback error
                        callback.OnError(500, e.getLocalizedMessage());
                    }
                }
            }
        }).start(); // start thread
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.11.2019, 12:10
Помогаю со студенческими работами здесь

Авторизация на сайте через POST запрос и последующая работа с этого аккаунта
Вот допустим я могу авторизироваться на сайте через ПОСТ запрос, а как мне сделать чтобы авторизироваться и например сделать другой запрос...

Авторизация на сайте POST + SSL
Здравствуйте! Писал я программу, которая парсит сайт 1С и проверяет новые версии их программ. И успешно написал, для меня это было очень...

Авторизация на сайте POST+Cookie
Тема для тех, кто знаком с DevelStudio 3.0 Есть такой код: $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,...

Авторизация на сайте. POST - запрос
Миллион тем было, миллион тем будет. Ниже процедура и 2 вызова. для LDS - работает, для Life - получаю в response - 403 Forbidden. ...

Авторизация на сайте, requests, post
Всем привет! Буду благодарен за помощь. Прочитал очень много примеров и решений, но ничего не помогло. Есть злой сайт -...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru