• Почему не сужается flex-элемент с flex-shrink: 1?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега CSS
    flex элемент не сужается
    Зелёный или синий?
    Синий вложен в красный?

    Если бы вы сделали интерактивный пример и подробнее объяснили суть проблемы, было бы проще вам помочь.
    Написано
  • Почему сайт отображается некорректно?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега Веб-разработка
    У меня всё ок, никаких ошибок загрузки.
    Написано
  • Как отладить плавающий баг проверки капчи?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега PHP
    Если "сессия не записывается", в 99% случаев это значит что браузер не прислал сессионную куку.
    В 99% случаев это значит, что место на диске закончилось :)
    Написано
  • Сместились фавиконки в заголовках вкладок гугл хром, как вернуть обратно?

    очередной чистки компа си-клинером
    Когда коту делать нечего...
    Написано
  • Как в модели Belongsto обратиться по нескольким полям?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега Laravel
    Да, что-то вроде того.
    Написано
  • Как в модели Belongsto обратиться по нескольким полям?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега Laravel
    Правильного нет, можно использовать любое, лишь бы оно было уникальным. В данном случае подойдёт branch.
    Написано
  • Как правильно вставлять изображения при наличии двух тем оформления сайта?

    А, понял - вы про то, что на самом сайте есть переключатель темы, а не используется системное значение.
    Тогда достаточно просто на html/body завести атрибут (например, data-theme) и использовать этот селектор, а не media-запрос.
    .picture-light,
    html[data-theme="dark"] .picture-light {
      display: none;
    }
    
    html[data-theme="light"] .picture-light, {
      display: block;
    }
    
    html[data-theme="light"] .picture-dark, {
      display: none;
    }
    Написано
  • Как в модели Belongsto обратиться по нескольким полям?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега Laravel
    Это тогда совершенно неправильная схема БД, но ок, поработаем с тем, что есть.
    Получается, что у вас к Protocol привязано два пользователя (но может быть и один, это не важно в данном случае). Следовательно, у вас есть два отношения: user и branch. Отношение user вы уже настроили, теперь нужно по аналогии настроить отношение branch. Всё, что нужно сделать - это дать методу правильное название (вы почему-то пытаетесь в классе дважды определить метод с именем user и на вас действительно ругаются, но не Laravel, а PHP).
    Написано
  • Как правильно вставлять изображения при наличии двух тем оформления сайта?

    Вячеслав Яшников, какая разница, как тема переключается? Важно только текущее значение.
    Написано
  • Как следить за всей страницей разом через IntersectionObserver?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    Ещё раз — body по определению всегда пересекается со всем, бессмысленно пытаться его передавать в observe.
    Написано
  • Как сделать чтобы в js можно было объявить функцию как в python?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    VoidVolker, да не только скобочки. Не просто же так AST строят:
    def f(x):
      console.log('this function generates from `def f(x):` ');
    Написано
  • Как сделать чтобы в js можно было объявить функцию как в python?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    можно обычной регуляркой пройтись по файлам и заменить def f(x): на function f (x) { }.
    Это вряд ли :)
    Написано
  • Почему Postman выдает ошибку 403?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега Веб-разработка
    Новый
    <?php
    
    $curl = curl_init();
    
    curl_setopt_array($curl, array(
      CURLOPT_URL => 'https://www.adidas.de/frauen-sneakers',
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_ENCODING => '',
      CURLOPT_MAXREDIRS => 10,
      CURLOPT_TIMEOUT => 0,
      CURLOPT_FOLLOWLOCATION => true,
      CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
      CURLOPT_CUSTOMREQUEST => 'GET',
      CURLOPT_HTTPHEADER => array(
        'accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
        'accept-language: en-US,en;q=0.9,ru-RU;q=0.8,ru;q=0.7',
        'cache-control: max-age=0',
        'cookie: gl-feat-enable=CHECKOUT_PAGES_DISABLED; geo_ip=5.189.119.168; geo_country=RU; onesite_country=DE; geo_coordinates=lat=56.85, long=60.60; akacd_plp_prod_adidas_grayling=3890698788~rv=23~id=eec2203c9e0501446a16ec5a436e9d65; mt.v=1.033191846.1713245990928; persistentBasketCount=0; userBasketCount=0; x-commerce-next-id=7641c825-97c4-4599-85ad-2796ec083517; pagecontext_cookies=; pagecontext_secure_cookies=; notice_preferences=%5B0%2C1%2C2%5D; ab_qm=b; AMCVS_7ADA401053CCF9130A490D4C%40AdobeOrg=1; s_cc=true; QSI_HistorySession=https%3A%2F%2Fwww.adidas.de%2Ffrauen-sneakers~1713245997584; QSI_SI_0evq2NrkQkQaBb7_intercept=true; newsletterShownOnVisit=true; s_pers=%20s_vnum%3D1714503600732%2526vn%253D1%7C1714503600732%3B%20pn%3D1%7C1715838008012%3B%20s_invisit%3Dtrue%7C1713249033112%3B; utag_main=v_id:018ee56b41a2004283e85615f4a005065002505d00fb8$_sn:1$_se:9%3Bexp-session$_ss:0%3Bexp-session$_st:1713249033067%3Bexp-session$ses_id:1713245995426%3Bexp-session$_pn:4%3Bexp-session$ab_dc:TEST%3Bexp-1718431233071$_vpn:4%3Bexp-session$_prevpage:PLP%7CG_WOMEN%7CPT_TRAINERS%3Bexp-1713250833096$ttdsyncran:1%3Bexp-session$dc_visit:1$dc_event:4%3Bexp-session$dcsyncran:1%3Bexp-session; AMCV_7ADA401053CCF9130A490D4C%40AdobeOrg=-227196251%7CMCIDTS%7C19830%7CMCMID%7C49791192017317256298472773599495290531%7CMCAID%7CNONE%7CMCOPTOUT-1713254433s%7CNONE; AKA_A2=A; sbsd_ss=ab8e18ef4e; bm_sz=45186C40D1FB3522438E51CF2C28065B~YAAQOYDdWB5JgMuOAQAA8NYT5heZNymYXNGQmhhLE4IJJgu5F6xEQ0iGCzE9h1mx3LwZf3u+jqhy3lDjaHoeJrnk/v9Ez03dnG/IGhv/18XoVVQew1EDkxhlDbyswFZu2DzfyE1xrShEplCEh99Mht/6uXgaYbTrLG/d764tGNIWC+0FWYh2yN4/yp8I4JzN+91EDNUTU415fS+Yu7iPG+beGDRiKsFFAUTtnBL8w/8tu8fqIORnz203NmCHo9A+xNhpDQPjLHPuZkMQnve6hMUD2dTFC2Y0v8FZ4zzKUIfIE4sUnPDtmjffuTU+JIcc3+INAXwjOsEmqcMc4ySD5LfqzWRs35Z6ZRk+xXk+jUXAP6v91mptrP6VOIaIPAZ3YIKA0pzsbAPCNwswooQkTDPI6jp3JLuQJJCNtYWCvxqvLhSKI1PrqllIhVzIXs0Z3zhoiIa9B7GVwPdQA3lWCnM=~3682373~4403249; UserSignUpAndSave=5; _abck=A5441BFF0E161B4315DFC7F197D551EB~-1~YAAQOYDdWDxJgMuOAQAACOAT5guEXhoZV92lrqyE51MShhsj/5hpkWHVwd6GmfGSyxdRy7Nb5HVWTLNG8vHLoYDM5/hqAHy1S72TrITCTKRpKyaLQP7m8+POmjv7bpG9YuULsSqx+G3WMcRjzngPOqKm/waCpRA8cLwLutvUAnDHy345bjOscRmMh+Y44SbRJgLwzlk871+THjQ150ojisdswOIetxpxqPyDiy7yTZqsFTN8M3ebTMM+Cb+Kgw1DJFoEE9ItBb86wJvM1BUuZFp3g7u/kcQiuffUfVIbKDhY0gLXSKzpbBkvjr4ou9RWunAZU3wUEiv/tP2JLTWDTZTnvz3yE91iH+8noPFLUNgAt7sQ/4JAy0rSk5D34uAt/4T/c4574W9ki/4B//z1iTAj2MbspnrzIrK1FJplJk1ROWF6sXB4pfQ/E4zufO8yXLlLoZJZxOLMDPMdrU781G1z8eflAGCZjwpsn0X+hPXTULjv2YnSpfYEKzPkNzGlZGI20kF7~-1~-1~1713260646; ak_bmsc=025368FD5079CB4AD969EE60B1FF3998~000000000000000000000000000000~YAAQOYDdWEZJgMuOAQAAO+IT5hcEvVx/3qCKRyy3Ftzxbi2VaQURlp6xtI3xyqFZ+M11rPLlv7NaqmZtEeiX0FDDNkc51YIS1vcZIxYyjiYfdVTNKTnKiUTjKke8YRjujsL+56LFcxmbMG1nlR8DSrsNEYBCN2ukDGxXCPBr60aVCDMlnZFumMIS6dMMANEhKsvPgTKxNPpFpq5UUOTimtnqhSkQHAbPhJqZRZiuYeceItXirhQIDaHiQbYk2elu0F3k1CunCNH1RI2TEeOSMfGqYhc7wD31ADfaXuhTlRHfNXtAIb+3rmCasieXkOzvkiLz+bG+Ksc3a058zb6EBKwWfcKo95Y3GsYSX3auqoNyvMF32XaTXfXcM6sPgQbkY/HJ/id1xYCN; sbsd=s9Qx288r5oo7D9gy9NjA+NgdCq13Xx/6HNU5eRaJd3moYTxsnkl3lHBrbojSZEo0m1H0o6qAePEq69f3v7KFI+EE8/MES3paGlQsVWesBq01le3N+RlqZNBw1hyC08TvADKpa4cHACPxlPJ5XyKZpIGK4g2Uk9Z9Cg73aHTo+ydk=; _abck=A5441BFF0E161B4315DFC7F197D551EB~-1~YAAQBIDdWEXeXJmOAQAA5mVs5QuHH6uOtxAr3fwM14hh39q7/YQZMoV8nw/Cr4SxquNpBtAaVOx4IAGlRGxB2F0FmA5T1wbx+hTdCp5ogFBZu+h4xG/J3a2a8D2a33HJVKv+l+yLCmP3zC7YcT35dyapF+kQ/4EoTZmHvWyurHzb6oFyKpDU5Hg2RPHqEX7LG9fQPDn4O+yj1qkdDkY8N2evN/2zWrU1G73V4SscflvN5D5Pn/sNDPXDYakF5n9EZV2vh9EJffVKKO6RRQP7qD3dYdqDYLpKuP+qKrP39/MIgEsHE8k3vok+5ZgQIvSlEMbp1OqKuF/u0/S+jeutPgz3bd3XCq+IeXmWIq4fO6RQIyhOdkCF85KgZ6RcHiQzsqGeLtmZUKeNgpIVqYrROSiAmYjlL5a4jaQ8nRI0lcTMy8bxTVbV9nhEJbrLSRHmbr6oOB85cpM2BXgOX0DSi0M6F1+XywlY/s87Lr31VKpm7aIdcV7jj+psArJdyp4Kfn2wgg8=~0~-1~1713249594; bm_sz=45186C40D1FB3522438E51CF2C28065B~YAAQHIDdWC6cvOWOAQAAprUU5hfbETgYykhEm0Fz18w+Jxy3pa4o5UaRXm+LvvXQRclcmv0mh+wiPk8FlSDhvePi3aaeM6RhaBIk1u1FL3wkc/kRbiGQKNH+RjxjJqnWGNTFTfAhEEBtO0kykor8hu6Flebj69hYjfDulYFwOpljpnzWrKCDAIlDCQP4grwRcQKg69VgWSOs34sFnIriAQ6hDA3vIEK72kcgStNlwWAiPdbjphlicp8wc2RIOJ+s8V8x+DmBm0EJEOHxjqZww6VxoLM/XSS5IjhjPSaKAKwjnrgu1TPYQeOjRKbpFZLl5JHFMbDWAsma7ubZ9C3pGHCfq369h3bhUHKJc6dleY9AP6X03OIX438nsx33SC391x3hWTz5M5ULBLfVcf8RodZr4Esp7lIk5V4YZtbWSHlqGPg4D+QdOEfDNY3Nif37BZ01yu8xwgA4eHV6e8nwN3+L3vJa6f4=~3682373~4403249; sbsd=s8B8vyNoSRHtety5KEUQirzPlWzPelu9XBLkDJMqRuCsYZ6NIUWON5vCR1+OV0pR/T9LdEiRqvdyjBk1BzSL19SZnnwCtkwuQ4fKuhPXigVMKXY1iNWB6DXVFfBztaaNSHtH7CUuR15/0uRcX2wljAzvTdbLn4yF/THodcZcZ7bk=; geo_coordinates=lat=56.85, long=60.60; geo_country=RU; onesite_country=DE',
        'dnt: 1',
        'referer: https://qna.habr.com/',
        'sec-ch-ua: "Google Chrome";v="123", "Not:A-Brand";v="8", "Chromium";v="123"',
        'sec-ch-ua-mobile: ?0',
        'sec-ch-ua-platform: "Linux"',
        'sec-fetch-dest: document',
        'sec-fetch-mode: navigate',
        'sec-fetch-site: same-origin',
        'sec-fetch-user: ?1',
        'upgrade-insecure-requests: 1',
        'user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36'
      ),
    ));
    
    $response = curl_exec($curl);
    
    curl_close($curl);
    echo $response;
    Написано
  • Почему Postman выдает ошибку 403?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега Веб-разработка
    Там что-то протухает в параметрах запроса. Я сейчас выполнил тот же запрос и получил 403, а новый скопированный отдаёт 200.
    Протухший
    <?php
    $curl = curl_init();
    
    curl_setopt_array($curl, array(
      CURLOPT_URL => 'https://www.adidas.de/frauen-sneakers',
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_ENCODING => '',
      CURLOPT_MAXREDIRS => 10,
      CURLOPT_TIMEOUT => 0,
      CURLOPT_FOLLOWLOCATION => true,
      CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
      CURLOPT_CUSTOMREQUEST => 'GET',
      CURLOPT_HTTPHEADER => array(
        'accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
        'accept-language: en-US,en;q=0.9,ru-RU;q=0.8,ru;q=0.7',
        'cache-control: max-age=0',
        'cookie: gl-feat-enable=CHECKOUT_PAGES_DISABLED; geo_ip=5.189.119.168; geo_country=RU; onesite_country=DE; geo_coordinates=lat=56.85, long=60.60; AKA_A2=A; sbsd_ss=ab8e18ef4e; akacd_plp_prod_adidas_grayling=3890698788~rv=23~id=eec2203c9e0501446a16ec5a436e9d65; mt.v=1.033191846.1713245990928; persistentBasketCount=0; userBasketCount=0; x-commerce-next-id=7641c825-97c4-4599-85ad-2796ec083517; pagecontext_cookies=; pagecontext_secure_cookies=; notice_preferences=%5B0%2C1%2C2%5D; ab_qm=b; AMCVS_7ADA401053CCF9130A490D4C%40AdobeOrg=1; s_cc=true; QSI_HistorySession=https%3A%2F%2Fwww.adidas.de%2Ffrauen-sneakers~1713245997584; QSI_SI_0evq2NrkQkQaBb7_intercept=true; newsletterShownOnVisit=true; bm_sz=45186C40D1FB3522438E51CF2C28065B~YAAQB4DdWOXpcMWOAQAA23t95RcJ76N2rV6S+YgYB2rJCqrmjYE0/T1jau4WqDm1DpxWqNAPybSwE8cok/cnqipGIGe7XjLiJPDo1stT3xg5EK3Z9nI8eNnAC5qs1n9+J69ge6O/Lqet+e9fXL7lKB6jWXxPeDlAqgX7PpSJiO8L0xP1u/DN9NDr8u5cRpmiXx3BXrHcCjlCzXJ73sKqgjEZjlx3Xey3CuuoFv6oHCVVtA3fwlOJpxAaWST2Hdll8Q/BKrAq+Y1LoVrLrTPFe39yli7eIAF7CBhiC3kXliRFgdTUI2nJhnfwe/MbyWdUjOS/r+kgZMGAgREQh5+oLZdVeoOs9Npsm/iz5FG9MLQBtv/wWXmeLjCZoWMxQX8D5k05LrAZOHj2sGdBFE61SOPsA8KsXUAudV3EuSmhzj0CT8mYoxCLwB6rgDY+VNcC47M=~3682373~4403249; UserSignUpAndSave=3; _abck=A5441BFF0E161B4315DFC7F197D551EB~-1~YAAQB4DdWAvqcMWOAQAAzId95QsdmC9/ihh4gXJ4aotmF7mjv07swKHVefmhK/Jvlr6H6q9y8xMcyE4RdYwumyLyrpfreLhI6zfRhkwOuGduWus4w/M2iKZZoKjPDjUY2aX0JDboGS1yKL64P1sISjRpUnrz7KKtpnIxUlbA7IiZoqSQCeOTvYjIwnUaAijaeV3dafr5Vc4NhNHPV3FYOvo3hPrFg8LTvrF3peDeIcBohIGeRBLiDXHGGr+cJAjFVKcndfMJ2ugNbrOBY3g+O9Y6zn9v5kK7ww9cZF/aOIds4tnk5l8QwH76XC4CHo1XS9SS5bvrmj83xNK4DAmeKnhgsH/lzPjGVjnzOR831vbZtk2pW0AIl+TgpA6T+swCzXHiL5tt9OoDGzk+djHXCX4BhKQerX3PA41yk8mxjnuaWHGIOFYDaVBVNH/xLAatplRXWK4YHk6TX+xgKm5/aDukHZ6GLNHAvNTyZWzND9qrljNZ87knyoPEEa9hip+WazDIa+l4~-1~-1~1713250793; ak_bmsc=9F8DBC2DAF9892163B5DC5322A424037~000000000000000000000000000000~YAAQB4DdWBTqcMWOAQAAV4p95Rc0PrFRWD27fH+n/qFe8oCll8qj0UazgbnVoJLNyc28bY5wiAXRLrkeEXV0spvH6CLqtK6QZfJ+G+qA3RR9onvPtKh2IKw43S1ttt3JeQqL1u7NAOslCzkXGOPO/B8cE7AObFku/BHFf5iEWdgnLNhQHvEiFnj8Jun0OL9/q3m2ZC2sIMG7kxUEeHvWz+agVdML6Br92zDMFAXgPN4wlFU9uDQOK0DdnGb6GKYlTQeVg9c83VHQDGfbV3uUbnjQjkeh0bcXvbiGX27fPOq9VyQjBo4BgDz9r8+Ahu466MWxZIIH1M/TEOUtKeuIuF83O78ma5GyWl64b9VOfQlii3C2ngg7o6buP/ePO4357eo75SWze2y1; s_pers=%20s_vnum%3D1714503600732%2526vn%253D1%7C1714503600732%3B%20pn%3D1%7C1715838008012%3B%20s_invisit%3Dtrue%7C1713248997699%3B; utag_main=v_id:018ee56b41a2004283e85615f4a005065002505d00fb8$_sn:1$_se:8%3Bexp-session$_ss:0%3Bexp-session$_st:1713248995968%3Bexp-session$ses_id:1713245995426%3Bexp-session$_pn:3%3Bexp-session$ab_dc:TEST%3Bexp-1718431195971$_vpn:3%3Bexp-session$_prevpage:PLP%7CG_WOMEN%7CPT_TRAINERS%3Bexp-1713250797685$ttdsyncran:1%3Bexp-session$dc_visit:1$dc_event:3%3Bexp-session$dcsyncran:1%3Bexp-session; AMCV_7ADA401053CCF9130A490D4C%40AdobeOrg=-227196251%7CMCIDTS%7C19830%7CMCMID%7C49791192017317256298472773599495290531%7CMCAID%7CNONE%7CMCOPTOUT-1713254398s%7CNONE; sbsd=suAGJcBtrLiiBYBqKh3DDoOKHX7ZWxTyezlveR0MwU1nlKjZ1w+4SEQfTqwk2L72ll/TvUOTA0463av7eqIlLdrvxst+x3fQcEs2H77HeSbOmu3Sg6+X1YttYIvTV9KR4sAA8zxCAz/uM3sEkJp8RifKw4DJBdieI+WjacbykyCA=; _abck=A5441BFF0E161B4315DFC7F197D551EB~-1~YAAQBIDdWEXeXJmOAQAA5mVs5QuHH6uOtxAr3fwM14hh39q7/YQZMoV8nw/Cr4SxquNpBtAaVOx4IAGlRGxB2F0FmA5T1wbx+hTdCp5ogFBZu+h4xG/J3a2a8D2a33HJVKv+l+yLCmP3zC7YcT35dyapF+kQ/4EoTZmHvWyurHzb6oFyKpDU5Hg2RPHqEX7LG9fQPDn4O+yj1qkdDkY8N2evN/2zWrU1G73V4SscflvN5D5Pn/sNDPXDYakF5n9EZV2vh9EJffVKKO6RRQP7qD3dYdqDYLpKuP+qKrP39/MIgEsHE8k3vok+5ZgQIvSlEMbp1OqKuF/u0/S+jeutPgz3bd3XCq+IeXmWIq4fO6RQIyhOdkCF85KgZ6RcHiQzsqGeLtmZUKeNgpIVqYrROSiAmYjlL5a4jaQ8nRI0lcTMy8bxTVbV9nhEJbrLSRHmbr6oOB85cpM2BXgOX0DSi0M6F1+XywlY/s87Lr31VKpm7aIdcV7jj+psArJdyp4Kfn2wgg8=~0~-1~1713249594; bm_sz=45186C40D1FB3522438E51CF2C28065B~YAAQN4DdWCsIK8WOAQAAsUCA5RfIsTZFECJ/dzIJET+QYnOUtwJHnDAmi63kTfIMECcGToyI2I9jrlNxXz05nbb5fqcWNvzFDkC2A1TV8Do5d6jO4US7bW8qfV0N2InGn1A4hRnYxhIivvsALGHxP0FHqAzlFaQCYzsZ9ikSE2S9rNWTX9TxN+CM6e5iLQOidBtcAyEn1lovbSBtj4f0mOzOlify+ENx6Y+CROtw2wC6EMLo+K8Yp5L6iviH9pu2d/+U1lSQYtfyFE5p9JWil4SdeoRrbvbJ0ewIzGDl0nwp/v4UChZKw6MHrsRsSmUHGWGmdnasI6xuWUiiJj8P2lxh/h4J0peNUU8EbRANsO9XglMn1vwXtVnNyGxwBxrHLSWwXpMMWf0SrCqaRz/yNXHgXO+4xvwUcTHC7zpnuJqN1qttT9GBQAiJsuLukImfhK7RgLAbunyx~3682373~4403249; sbsd=sRlmNQp07SrmNzmDFQ2I3EDdWJhmGcjdnoL3U9TAZEm0LjJZ8JS1WKE1YShk2gydm4wb7Qdzf/k9idK3nwKnN5h253QQo+EZO+tSI8dwywA8jTH2TYU1AYKoQdYG8dQzhQ0ycf6zH+kNIkrYXyoWF/j+M+b9c/CtU7tgWwQEb16A=; geo_coordinates=lat=56.85, long=60.60',
        'dnt: 1',
        'referer: https://qna.habr.com/',
        'sec-ch-ua: "Google Chrome";v="123", "Not:A-Brand";v="8", "Chromium";v="123"',
        'sec-ch-ua-mobile: ?0',
        'sec-ch-ua-platform: "Linux"',
        'sec-fetch-dest: document',
        'sec-fetch-mode: navigate',
        'sec-fetch-site: same-origin',
        'sec-fetch-user: ?1',
        'upgrade-insecure-requests: 1',
        'user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36'
      ),
    ));
    
    $response = curl_exec($curl);
    
    curl_close($curl);
    echo $response;
    Написано
  • Зачем тут используется apply?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    Встречный вопрос - а как бы вы без него обошлись? Вы понимаете, что делает bind и зачем в принципе нужен метод apply?
    Если не понимаете, то нужно читать документацию и учебник, лучше вам здесь не объяснят. Если понимаете, то тогда непонятно в чём ваш вопрос.
    Написано
  • Почему Postman выдает ошибку 403?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега Веб-разработка
    В веб-версии, действительно, и у меня 403. Адидас может быть тупо ip сайта забанил.
    Сниппет

    curl --location 'https://www.adidas.de/frauen-sneakers' \
    --header 'accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7' \
    --header 'accept-language: en-US,en;q=0.9,ru-RU;q=0.8,ru;q=0.7' \
    --header 'cache-control: max-age=0' \
    --header 'cookie: gl-feat-enable=CHECKOUT_PAGES_DISABLED; geo_ip=5.189.119.168; geo_country=RU; onesite_country=DE; geo_coordinates=lat=56.85, long=60.60; AKA_A2=A; sbsd_ss=ab8e18ef4e; akacd_plp_prod_adidas_grayling=3890698788~rv=23~id=eec2203c9e0501446a16ec5a436e9d65; mt.v=1.033191846.1713245990928; persistentBasketCount=0; userBasketCount=0; x-commerce-next-id=7641c825-97c4-4599-85ad-2796ec083517; pagecontext_cookies=; pagecontext_secure_cookies=; notice_preferences=%5B0%2C1%2C2%5D; ab_qm=b; AMCVS_7ADA401053CCF9130A490D4C%40AdobeOrg=1; s_cc=true; QSI_HistorySession=https%3A%2F%2Fwww.adidas.de%2Ffrauen-sneakers~1713245997584; QSI_SI_0evq2NrkQkQaBb7_intercept=true; newsletterShownOnVisit=true; bm_sz=45186C40D1FB3522438E51CF2C28065B~YAAQB4DdWOXpcMWOAQAA23t95RcJ76N2rV6S+YgYB2rJCqrmjYE0/T1jau4WqDm1DpxWqNAPybSwE8cok/cnqipGIGe7XjLiJPDo1stT3xg5EK3Z9nI8eNnAC5qs1n9+J69ge6O/Lqet+e9fXL7lKB6jWXxPeDlAqgX7PpSJiO8L0xP1u/DN9NDr8u5cRpmiXx3BXrHcCjlCzXJ73sKqgjEZjlx3Xey3CuuoFv6oHCVVtA3fwlOJpxAaWST2Hdll8Q/BKrAq+Y1LoVrLrTPFe39yli7eIAF7CBhiC3kXliRFgdTUI2nJhnfwe/MbyWdUjOS/r+kgZMGAgREQh5+oLZdVeoOs9Npsm/iz5FG9MLQBtv/wWXmeLjCZoWMxQX8D5k05LrAZOHj2sGdBFE61SOPsA8KsXUAudV3EuSmhzj0CT8mYoxCLwB6rgDY+VNcC47M=~3682373~4403249; UserSignUpAndSave=3; _abck=A5441BFF0E161B4315DFC7F197D551EB~-1~YAAQB4DdWAvqcMWOAQAAzId95QsdmC9/ihh4gXJ4aotmF7mjv07swKHVefmhK/Jvlr6H6q9y8xMcyE4RdYwumyLyrpfreLhI6zfRhkwOuGduWus4w/M2iKZZoKjPDjUY2aX0JDboGS1yKL64P1sISjRpUnrz7KKtpnIxUlbA7IiZoqSQCeOTvYjIwnUaAijaeV3dafr5Vc4NhNHPV3FYOvo3hPrFg8LTvrF3peDeIcBohIGeRBLiDXHGGr+cJAjFVKcndfMJ2ugNbrOBY3g+O9Y6zn9v5kK7ww9cZF/aOIds4tnk5l8QwH76XC4CHo1XS9SS5bvrmj83xNK4DAmeKnhgsH/lzPjGVjnzOR831vbZtk2pW0AIl+TgpA6T+swCzXHiL5tt9OoDGzk+djHXCX4BhKQerX3PA41yk8mxjnuaWHGIOFYDaVBVNH/xLAatplRXWK4YHk6TX+xgKm5/aDukHZ6GLNHAvNTyZWzND9qrljNZ87knyoPEEa9hip+WazDIa+l4~-1~-1~1713250793; ak_bmsc=9F8DBC2DAF9892163B5DC5322A424037~000000000000000000000000000000~YAAQB4DdWBTqcMWOAQAAV4p95Rc0PrFRWD27fH+n/qFe8oCll8qj0UazgbnVoJLNyc28bY5wiAXRLrkeEXV0spvH6CLqtK6QZfJ+G+qA3RR9onvPtKh2IKw43S1ttt3JeQqL1u7NAOslCzkXGOPO/B8cE7AObFku/BHFf5iEWdgnLNhQHvEiFnj8Jun0OL9/q3m2ZC2sIMG7kxUEeHvWz+agVdML6Br92zDMFAXgPN4wlFU9uDQOK0DdnGb6GKYlTQeVg9c83VHQDGfbV3uUbnjQjkeh0bcXvbiGX27fPOq9VyQjBo4BgDz9r8+Ahu466MWxZIIH1M/TEOUtKeuIuF83O78ma5GyWl64b9VOfQlii3C2ngg7o6buP/ePO4357eo75SWze2y1; s_pers=%20s_vnum%3D1714503600732%2526vn%253D1%7C1714503600732%3B%20pn%3D1%7C1715838008012%3B%20s_invisit%3Dtrue%7C1713248997699%3B; utag_main=v_id:018ee56b41a2004283e85615f4a005065002505d00fb8$_sn:1$_se:8%3Bexp-session$_ss:0%3Bexp-session$_st:1713248995968%3Bexp-session$ses_id:1713245995426%3Bexp-session$_pn:3%3Bexp-session$ab_dc:TEST%3Bexp-1718431195971$_vpn:3%3Bexp-session$_prevpage:PLP%7CG_WOMEN%7CPT_TRAINERS%3Bexp-1713250797685$ttdsyncran:1%3Bexp-session$dc_visit:1$dc_event:3%3Bexp-session$dcsyncran:1%3Bexp-session; AMCV_7ADA401053CCF9130A490D4C%40AdobeOrg=-227196251%7CMCIDTS%7C19830%7CMCMID%7C49791192017317256298472773599495290531%7CMCAID%7CNONE%7CMCOPTOUT-1713254398s%7CNONE; sbsd=suAGJcBtrLiiBYBqKh3DDoOKHX7ZWxTyezlveR0MwU1nlKjZ1w+4SEQfTqwk2L72ll/TvUOTA0463av7eqIlLdrvxst+x3fQcEs2H77HeSbOmu3Sg6+X1YttYIvTV9KR4sAA8zxCAz/uM3sEkJp8RifKw4DJBdieI+WjacbykyCA=; _abck=A5441BFF0E161B4315DFC7F197D551EB~-1~YAAQBIDdWEXeXJmOAQAA5mVs5QuHH6uOtxAr3fwM14hh39q7/YQZMoV8nw/Cr4SxquNpBtAaVOx4IAGlRGxB2F0FmA5T1wbx+hTdCp5ogFBZu+h4xG/J3a2a8D2a33HJVKv+l+yLCmP3zC7YcT35dyapF+kQ/4EoTZmHvWyurHzb6oFyKpDU5Hg2RPHqEX7LG9fQPDn4O+yj1qkdDkY8N2evN/2zWrU1G73V4SscflvN5D5Pn/sNDPXDYakF5n9EZV2vh9EJffVKKO6RRQP7qD3dYdqDYLpKuP+qKrP39/MIgEsHE8k3vok+5ZgQIvSlEMbp1OqKuF/u0/S+jeutPgz3bd3XCq+IeXmWIq4fO6RQIyhOdkCF85KgZ6RcHiQzsqGeLtmZUKeNgpIVqYrROSiAmYjlL5a4jaQ8nRI0lcTMy8bxTVbV9nhEJbrLSRHmbr6oOB85cpM2BXgOX0DSi0M6F1+XywlY/s87Lr31VKpm7aIdcV7jj+psArJdyp4Kfn2wgg8=~0~-1~1713249594; bm_sz=45186C40D1FB3522438E51CF2C28065B~YAAQN4DdWCsIK8WOAQAAsUCA5RfIsTZFECJ/dzIJET+QYnOUtwJHnDAmi63kTfIMECcGToyI2I9jrlNxXz05nbb5fqcWNvzFDkC2A1TV8Do5d6jO4US7bW8qfV0N2InGn1A4hRnYxhIivvsALGHxP0FHqAzlFaQCYzsZ9ikSE2S9rNWTX9TxN+CM6e5iLQOidBtcAyEn1lovbSBtj4f0mOzOlify+ENx6Y+CROtw2wC6EMLo+K8Yp5L6iviH9pu2d/+U1lSQYtfyFE5p9JWil4SdeoRrbvbJ0ewIzGDl0nwp/v4UChZKw6MHrsRsSmUHGWGmdnasI6xuWUiiJj8P2lxh/h4J0peNUU8EbRANsO9XglMn1vwXtVnNyGxwBxrHLSWwXpMMWf0SrCqaRz/yNXHgXO+4xvwUcTHC7zpnuJqN1qttT9GBQAiJsuLukImfhK7RgLAbunyx~3682373~4403249; sbsd=sRlmNQp07SrmNzmDFQ2I3EDdWJhmGcjdnoL3U9TAZEm0LjJZ8JS1WKE1YShk2gydm4wb7Qdzf/k9idK3nwKnN5h253QQo+EZO+tSI8dwywA8jTH2TYU1AYKoQdYG8dQzhQ0ycf6zH+kNIkrYXyoWF/j+M+b9c/CtU7tgWwQEb16A=; geo_coordinates=lat=56.85, long=60.60; geo_country=RU; onesite_country=DE' \
    --header 'dnt: 1' \
    --header 'referer: https://qna.habr.com/' \
    --header 'sec-ch-ua: "Google Chrome";v="123", "Not:A-Brand";v="8", "Chromium";v="123"' \
    --header 'sec-ch-ua-mobile: ?0' \
    --header 'sec-ch-ua-platform: "Linux"' \
    --header 'sec-fetch-dest: document' \
    --header 'sec-fetch-mode: navigate' \
    --header 'sec-fetch-site: same-origin' \
    --header 'sec-fetch-user: ?1' \
    --header 'upgrade-insecure-requests: 1' \
    --header 'user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36'

    Написано
  • Почему Postman выдает ошибку 403?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега Веб-разработка
    661e0f9f8da55431575959.png
    Написано