What's the number of times the letter "o" appears in:
Q: cUrl запрос с конкретного интерфейса Имеется ОС Linux, libcurl 7.68.0, 2 интерфейса с доступом в 2 разных подсети.
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    102    0        0 enp0s31f6
0.0.0.0         192.168.0.1     0.0.0.0         UG    103    0        0 enx00a0c6000000
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 enp0s31f6
192.168.0.0     0.0.0.0         255.255.255.0   U     103    0        0 enx00a0c6000000
192.168.1.0     0.0.0.0         255.255.255.0   U     102    0        0 enp0s31f6

Из с++ кода, с помощью cUrl и опции CURLOPT_INTERFACE делаю Get запрос на внешний домен, но запрос почему-то не выполняется. CURLOPT_VERBOSE показывает следующее:
*   Trying %корректный.внешний.ip.адрес%:443...
* Name '192.168.0.2' family 2 resolved to '192.168.0.2' family 2
* Local port: 0
* Connection timed out after 15001 milliseconds
* Closing connection 0
* Hostname %нужный-домен.ком% was found in DNS cache
*   Trying %корректный.внешний.ip.адрес%:443...
* Hostname 192.168.0.2 was found in DNS cache
* Name '192.168.0.2' family 2 resolved to '192.168.0.2' family 2
* Local port: 0
* Connection timed out after 15001 milliseconds
* Closing connection 1
* Hostname %нужный-домен.ком% was found in DNS cache
*   Trying %корректный.внешний.ip.адрес%:443...
* Hostname 192.168.0.2 was found in DNS cache
* Name '192.168.0.2' family 2 resolved to '192.168.0.2' family 2
* Local port: 0
* Connection timed out after 15000 milliseconds
* Closing connection 2

И так повторяется без конца.
curl_easy_setopt(this->Curl, CURLOPT_INTERFACE, "192.168.0.2"); // пробовал так
curl_easy_setopt(this->Curl, CURLOPT_INTERFACE, "enx00a0c6000000"); // и так тоже

Если установить 192.168.0.1 шлюзом по умолчанию и сделать запрос, то запрос выполнится успешно. Так же успешно выполняется запрос если  в CURLOPT_INTERFACE указать адрес из текущей подсети по умолчанию или вовсе убрать эту опцию. В чем может быть проблема?

A: а если так
CURL *curl = curl_easy_init();
if(curl) {
  curl_easy_setopt(curl, CURLOPT_URL, "https://...."); 
  if(curl_easy_setopt(curl, CURLOPT_INTERFACE, "if!enx00a0c6000000")==CURLE_INTERFACE_FAILED) printf("oops...");
  ret = curl_easy_perform(curl);
 
  curl_easy_cleanup(curl);
}


If the parameter starts with "if!" then it is treated as only as
interface name and no attempt will ever be named to do treat it as an
IP address or to do name resolution on it. If the parameter starts
with "host!" it is treated as either an IP address or a hostname.
Hostnames are resolved synchronously. Using the if! format is highly
recommended when using the multi interfaces to avoid allowing the code
to block. If "if!" is specified but the parameter does not match an
existing interface, CURLE_INTERFACE_FAILED is returned from the
libcurl function used to perform the transfer.

если не сложно приведите рабочий кусок кода, попробовать воспроизвести

user
There are 88 "o"s in the text you provided.
assistant